在双启动系统上安装新硬盘:启动加载程序仅在硬盘上吗?

在双启动系统上安装新硬盘:启动加载程序仅在硬盘上吗?

抱歉,这个问题问得这么基础,但我必须确定。我将用新硬盘替换我的硬盘。目前我有双启动(Windows 8.1 和 Ubuntu),使用 GRUB2 启动。引导加载程序是否只在硬盘上?考虑到这篇文章,它是:http://www.howtogeek.com/187789/dual-booting-explained-how-you-can-have-multiple-operating-systems-on-your-computer/

“计算机的操作系统通常安装在其内部硬盘上。启动计算机时,BIOS 会加载硬盘上的引导加载程序并且引导加载程序引导已安装的操作系统。”

更换硬盘后,新操作系统可以正常安装吗?还是必须在更换硬盘前配置一些其他东西?

答案1

当计算机启动时,只读存储器(BIOS 或 EFI)中的特殊代码会从几个可能的位置(硬盘、USB 闪存驱动器、光驱、网络)之一读取引导加载程序并赋予其控制权。

  • 如果你代替用新硬盘替换硬盘,新硬盘上不会有任何引导加载程序;您需要安装操作系统,或者恢复完整系统备份。例如,您可以使用克隆兹拉对旧硬盘进行完整备份。

  • 如果你添加硬盘,旧磁盘仍然具有引导加载程序。

PS 请阅读用户 waltinator 的评论并按照建议的说明进行操作。

答案2

如果你/etc/fstab通过 UUID 安装分区,例如

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda5 during installation
UUID=83a64b80-5a37-4659-b797-221b88ef41f8 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda6 during installation
UUID=12817b99-9d2b-4357-a4ca-c11eab672a20 /home           ext4    defaults        0       2
# swap was on /dev/sda1 during installation
#UUID=339b7a56-3b67-47e8-87e1-f483296a39bd none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

您必须用新磁盘的 UUID 替换旧磁盘的 UUID。

我最近这样做了,但必须从不同的备份中恢复 MBR。此步骤是必要的,但不完整。

从 CD/USB 密钥启动时运行blkid并修复磁盘上的内容。fstab

相关内容