首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使ubuntu在磁盘克隆之后再次启动?

如何使ubuntu在磁盘克隆之后再次启动?
EN

Ask Ubuntu用户
提问于 2018-12-02 01:04:01
回答 1查看 6.7K关注 0票数 1

这是一个关于Windows 10和Ubuntu18.04的双引导系统的问题。双引导是用乌比夫设置的。

我将引导磁盘克隆到一个新磁盘上,然后将其替换为新磁盘。在那之后,Ubuntu停止了引导。我想让它重回正轨。

当我启动我的PC时,我会得到一个包含4个选项的grub菜单:

  • Ubuntu
  • Ubuntu的高级选项
  • Windows Boot Manager (on /dev/sdb2 2)
  • 系统设置

如果选择Ubuntu选项,将得到以下文本:

代码语言:javascript
复制
Booting a command list
error: no such device: B0ACCB58ACCB17AC
Press any key to continue..

按下任何键系统挂起。

如果选择Windows选项,将得到:

代码语言:javascript
复制
error: no such device: 62A5-4B98.
error: file `/EFI/Microsoft/Boot/bootmgfw.efi' not found.

Press any key to continue...

我仍然可以登录到windows,如果在引导过程中我选择了BIOS启动选项。当我看到菜单时:

  • P0: WDC WD40EZRZ-00WN9B0
  • P2: WDCWD4005FZEX-00Z4SA0
  • Windows引导管理器
  • P1: CT1000MX500SSD1
  • 徐邦图
  • 输入安装程序

如果选择P0、P1或P2选项,就会收到一条关于缺少引导记录的消息。如果选择Xubuntu,就会看到上面描述的grub菜单。如果我选择windows,我可以成功地引导到Windows。

如果在grub中的Ubunutu行上选择e,下面是我看到的情况:

代码语言:javascript
复制
setparams 'Ubuntu'
gfxmode $linux_gfx_mode
insmod gzio
insmod ntfs
set root='hd1,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt4 --hint-efi=hd1,gpt4 --hint-baremetal=ahci1,gpt4 B0ACCB58ACCB17AC
else
  search --no-floppy --fs-uuid --set=root B0ACCB58ACCB17AC
fi
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz-4.15.0-39-generic root=UUID=B0ACCB58ACCB17AC loop=/ubuntu/disks/root.disk ro rootflags=sync quiet splash $vt_handoff
initrd /boot/initrd.img-4.15.0-39-generic

如何修复grub,以便再次通过grub引导Windows和Linux?

注意:以上所有我都是手动输入的(没有从启动屏幕复制粘贴),所以我对任何输入都表示歉意。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-12-02 03:13:23

您的问题是,文件系统UUID值在克隆磁盘后发生了更改,特别是有两个影响您的更改,即windows文件系统UUID和ubuntu更改。修复它所需的大多数信息都包含在这个有用的问题中,但是让我们详细说明一下缺失的细节。

启动并显示grub屏幕时,转到“高级.”并选择恢复模式。一旦启动进程完成,选择根shell。您的目标是找出新windows的新值(以前是62A5-4B98 )和新的linux (曾经是B0ACCB58ACCB17AC )的值。

在根shell中,使用以下两个命令:

代码语言:javascript
复制
fdsik -l
blkid

第一个将向您展示现有的分区,您应该寻找一个描述"EFI系统“或类似的分区。这就是您在blkid输出中要寻找的分区。这将给你UUID的窗口。注意,根据您的配置,您可能有多个这样的分区。如果不知道更多,我就不能告诉你选择哪一个,假设你知道你的磁盘包含了什么,并且应该能够知道你可能在你的电脑上有哪些磁盘是无关的。UUID将有熟悉的XXXX-XXXX格式,因此应该很容易识别。

类似地,您需要找出用于引导linux的哪个分区。如果剩下的一次在同一个磁盘上的话,我猜这是开着的。找出哪一个最好的方法是临时插入你的旧磁盘驱动器(确保关闭你的电脑在这样做之前)并在上面运行blkid。它应该在其中一个分区上向您显示B0ACCB58ACCB17AC,并且您应该能够推断新驱动器上的哪个分区对应于该分区。这是有点不精确的科学,但很难给出准确的指示,而不看到屏幕上的一切。

重新启动并在grub菜单中按"Ubuntu“行上的e。用您为每个事件找到的值替换B0ACCB58ACCB17AC,然后按F10继续引导。

但是,引导将失败,因为您使用wubiuefi并需要挂载windows磁盘来加载linux磁盘。在Ctrl-Alt-F2终端中,您应该看到按Enter键进入恢复会话的提示符。去做吧。编辑/etc/fstab并用您找到的新值替换62A5-4B98。保存、重新引导、再次替换B0ACCB58ACCB17AC的顺序相同,现在您应该能够最终引导到linux中。

登录后,编辑/boot/grub/grub.cfg并查找/替换所有B0ACCB58ACCB17AC和所有62A5-4B98的新值。保存并运行update-grub

现在,您应该可以通过grub菜单登录到Windows或Linux。

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

https://askubuntu.com/questions/1097794

复制
相关文章

相似问题

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