我把笔记本电脑的 HDD 换成了 SSD。这是一台戴尔 XPS 15,自带 Windows,我在上面安装了 Ubuntu,已经用了 3 年了。
HDD 设置了几个分区,包括 sda5 (/) 和 sda7 (/home)。
我使用 gdisk (GPT) 创建了分区表,并将分区 / 和 /home 复制到 SSD sbd2(新 /)中。分区 sdb1 配置为 BIOS 的 1 MB。
然后我启动 CD-ROM 安装 grub。没有错误。运行 update-grub。确定。
启动时,我可以看到:“未找到操作系统”。这不是拼写错误,实际上写的是操作系统(而不是操作系统)。
然后我再次使用 CD-ROM 启动,安装并运行引导修复。它执行了它的工作,没有报告错误,并要求重新启动。信息是http://paste.ubuntu.com/12093343/
但我仍然收到相同的消息“未找到操作系统”。有什么想法吗?
答案1
一些观察:
- 您声称复制了
/
和/home
分区,但新磁盘只有一个 Linux 文件系统分区。如果您执行了文件级复制(使用cp
、tar
或类似的东西),则可以实现此目的;然而:- 至少,您必须调整
/etc/fstab
引导加载程序配置以适应新设置。引导加载程序更改应由 Boot Repair 处理,但我不知道它是否会调整/etc/fstab
,从您的输出来看,它似乎已经不是已更新。这不能解释您的主要问题,但您迟早要处理它。 - 执行文件级复制时必须小心谨慎,以确保在新文件系统上获得正确的权限和所有权。如果权限错误,系统可能无法启动;或者可能会启动但会出现许多错误。同样,这个问题无法解释您当前的问题,但您必须意识到这一点。请参阅这一页有关如何使用
tar
复制 Linux 安装的信息。
- 至少,您必须调整
- 您的分区号让我怀疑您的第一次安装可能使用了主引导记录 (MBR)分区系统;但您的新安装使用GUID 分区表 (GPT)。您的当前系统设置为以 BIOS/CSM/传统模式启动。理论上,这应该可行;但实际上,有些主板在从 GPT 磁盘以 BIOS 模式启动时会出现问题。如果我没看错,这是一个问题,那么有多种解决方法:
- 通常可以通过在 MBR 的 type-0xEE 分区上设置“启动标志”来解决这些问题。请注意,在使用或 GParted 的任何分区上设置“启动标志”
parted
将不是执行此操作。您必须使用fdisk
(在 Ubuntu 14.04 或更早版本中)或在整个磁盘或parted
GParted。请参阅我的这个页面了解有关此类问题的更多信息。 - 如果您的固件足够新(比 2011 年中更新),那么它可能是 EFI,而不是 BIOS,在这种情况下,最好为 Linux 安装 EFI 引导加载程序。测试这一点的一个简单方法是准备一个 USB 闪存驱动器或 CD-R,里面有我的rEFInd 启动管理器。如果你能用它启动,那么你可以安装 rEFInd PPA 或 Debian 软件包——但你需要创建一个EFI 系统分区 (ESP)在您的磁盘上。
- 您可以在磁盘上从 GPT 分区切换到 MBR 分区。您可以使用 进行就地转换
gdisk
,如所述这里。然后您需要将 GRUB 重新安装到磁盘。
- 通常可以通过在 MBR 的 type-0xEE 分区上设置“启动标志”来解决这些问题。请注意,在使用或 GParted 的任何分区上设置“启动标志”
就我个人而言,我不会尝试将单独的根 ( /
) 和/home
分区合并为一个分区;单独的/home
分区具有明显的优势,而将两者合并则会失去这些优势。根据磁盘大小,您可能最好使用克隆兹拉复制您的磁盘;但据我所知,Clonezilla 无法处理从较大分区到较小分区的复制,因此它可能不是一个选项,至少对整个磁盘来说不是。(不过,您可能能够使用 Clonezilla 复制您的根分区,然后使用/home
或cp
进行复制tar
。)
答案2
您需要更新 SSD 上的 /etc/fstab 文件。它仍然有旧的硬盘分区,甚至还有一个您不再拥有的交换分区。其他一切都很好,UUID 都是正确的。