首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grub认为ext4是一个iso9660文件系统

grub认为ext4是一个iso9660文件系统
EN

Unix & Linux用户
提问于 2013-08-22 02:34:03
回答 4查看 1.6K关注 0票数 3

如何修复这个问题并安装grub?

当我使用GParted时,我看到/dev/sdb有一个分区,它是ext4,但是当我试图安装grub时,我得到了:

#grub /dev/sdb /usr/sbin/grub-设置: hd0似乎包含一个iso9660文件系统,该文件系统不知道为DOS风格的引导预留空间。在那里安装GRUB可能会导致文件系统破坏,如果有价值的数据被grub-设置覆盖(--跳过-fs-探测将禁用此检查,则由您自己承担使用风险)。

我还看到一个挂载点和2个磁盘系统。一个似乎是我的Debian安装,另一个似乎是安装磁盘。我似乎找不出安装磁盘在文件系统中的位置。显然只有一个分区。

我通过使用VMware安装到USB而不是VMware中的磁盘来安装它。我有另一个没有问题的USB,但我用的是笔记本电脑。

EN

回答 4

Unix & Linux用户

发布于 2015-12-15 09:35:05

对不起,目前我不能评论其他的答案。

请永远不要做johnshen64建议的事情。

代码语言:javascript
复制
dd if=/dev/zero of=/dev/sdb bs=512 count=numSectorsBeforeSdb1

这将完全摧毁您的分区表!

磁盘的第一个扇区(512字节)(包括HDD和USB)包含磁盘的分区表。

将破坏磁盘分区结构的覆盖。

johnshen64的想法是好的,但你必须跳过第一扇区。

因此,请使用:

代码语言:javascript
复制
sudo dd if=/dev/zero of=/dev/sdb bs=512 seek=1 count=2047

first参数告诉我们忽略前512个字节(分区表),然后写2047扇区。

票数 2
EN

Unix & Linux用户

发布于 2020-04-10 09:03:52

最好使用wipefs命令“外科手术”:

代码语言:javascript
复制
sudo wipefs  /dev/sdb

会显示如下的东西:

代码语言:javascript
复制
  DEVICE OFFSET TYPE    UUID                   LABEL
  sdb    0x8001 iso9660 2016-07-20-12-17-32-00 Lubuntu 16.04.1 LTS i386
  sdb    0x1fe  dos

因此,在sdb分区中有两个OS的签名。

若要解决此问题,请运行以下命令:

代码语言:javascript
复制
sudo wipefs -o 0x8001 /dev/sdb

(它将在不接触GPT的情况下,在ISO签名的5字节以上编写零)。

这样做后,运行‘部分探测’或重新启动系统,以更新分区信息到操作系统。

来源:https://bugzilla.gnome.org/show_bug.cgi?id=789898

票数 2
EN

Unix & Linux用户

发布于 2013-08-22 03:26:15

您的usb磁盘上可能确实有某种iso签名,或者至少在grub看来是这样的。使用fdisk -l /dev/sdb (并分隔/dev/sdb打印以确认)查找/dev/sdb 1启动的位置。然后简单地清除这些扇区,使用dd if=/dev/零of=/dev/sdb bs=512 count=numSectorsBeforeSdb1。如果您有任何重要的数据,您不能丢失,请支持它,一如既往,当您做这样的事情。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/87725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档