解决双启动系统中无法找到 UUID 的 grub 解决方法失败,现在 grub 无法启动任何东西

解决双启动系统中无法找到 UUID 的 grub 解决方法失败,现在 grub 无法启动任何东西

全新安装 x86 11.10 桌面。在不同的驱动器上以 Windows XP 和 Linux 进行双启动。

安装后 grub 无法启动 Windows,但通过更改启动驱动器可以正常启动。

当我去修复这个问题时,我发现http://bootinfoscript.sourceforge.net/以及链接至http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:search我的问题是,grub 启动错误屏幕上的消息:

error: no such device: 6⋯⋯⋯⋯⋯⋯⋯

因此我按照步骤2并比较输出:

sudo blkid

sudo nano /boot/grub/grub.cfg

两者的 UUID 都与 Windows 驱动器匹配,因此我按照步骤 4 中的修复方法“删除 /usr/lib/grub/grub-mkconfig_lib 中的搜索行...”,并像之前一样注释掉这三行⋯

# if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then
# echo "search --no-floppy --fs-uuid --set ${fs_uuid}"
# fi

我运行sudo update-grub并检查 /etc/default/grub.cfg 并发现它现在不是通过 UUID 来识别 Windows 分区,我想这是解决方法。

但是现在当我尝试启动 11.10 桌面时,我得到:

error: no such partition… …

当我尝试启动 Windows 时,出现以下信息:

error: invalid signature.

那么现在,我该如何解决这个问题呢?

启动问题并找到有效的解决方法?

答案1

好吧,由于这确实是一个由两部分组成的问题,我可以回答隐含的第一个问题,即如何让 grub2 至少启动 ubuntu。

具体如下:

  • 从 LiveCD 启动(x86 11.10 桌面)

  • 将 Ubuntu 10.10 的根目录挂载到 /mnt

  • 更改根

  • 删除对 /usr/lib/grub/grub-mkconfig_lib 的解决方法更改

  • 运行更新-grub

  • 重启

以上步骤来自Ubuntu 社区 Grub2 文档底部附近

⋯具体情况是by example从 CD 启动并在终端运行后……

sudo -i我已经当了这么多年苏,但你应该使用sudo …在每个命令前面

ubuntu@ubuntu:~$ sudo -i

fdisk -l这是小写的 L找到 11.10 安装分区,(其他磁盘在此处剪辑)

fdisk -l

⋯ ⋯ ⋯

Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

mount /dev/sde3 /mnt我的根分区,sde7 是我的主分区

ls /mnt只是想看看我是否做对了

root@ubuntu:~# mount /dev/sde3 /mnt
root@ubuntu:~# ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done一行完成

chroot /mnt改变根

sudoedit /usr/lib/grub/grub-mkconfig_lib在这里我撤消了更改

update-grub现在更新 grub

root@ubuntu:~# for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
root@ubuntu:~# chroot /mnt
root@ubuntu:/# sudoedit /usr/lib/grub/grub-mkconfig_lib
root@ubuntu:/# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

sudoedit /etc/default/grub检查是否已更改(应与原始内容相同)

sudoedit /boot/grub/grub.cfg检查是否按照最初的方式通过 UUID 挂载

事实也确实如此。

现在提交启动失败的错误报告...

答案2

Grub 现在可以按预期运行,并且 WinXP 和 Ubuntu 11.10 现在都可以正确启动。

这是无法解释的,因为除了正常升级之外,Grub 没有做出任何改变。

答案3

这是无法解释的,因为除了正常升级之外,Grub 没有做出任何改变。

我是个菜鸟,刚刚安装了双启动 win10 和 Ubuntu Gnome 当前版本。配置双启动时,Grub 2 多次运行。grub 2 运行正常,我无需添加 apci 或 acpi 等。

在我启动成功后,我使用了 win10debloater https://github.com/Sycnex/Windows10Debloater

然后使用 Windows 更新升级 win10,我注意到系统 Bios 已经改变,因为我必须重新做 bios。

我也同意,Grub 没有改变;我猜测(对 ubuntu 一无所知)UUID 已经改变。

所以我猜测,如果 Win10 更新后 UUID 发生了变化,并且确认了与 UUID 的链接。

这种情况已经持续很长时间了,我相信是系统 BIOS 被 win10 改变了;因为如果 Ubuntu 曾经创建了一个简单的安装 windows 就知道一切都可能在一夜之间改变。

如果我有错误,请删除。

相关内容