我正在考虑将当前 MBR 分区的 2 TB 系统驱动器替换为 3 TB 驱动器。复制文件应该不会造成问题,但是有什么需要注意的问题吗,特别是关于引导加载程序,请记住 MBR 不支持超过 2 TB 的任何内容,因此我必须转向 GPT?或者对新驱动器进行分区,复制所有文件,在新位置更新 /etc/fstab,用新驱动器物理替换旧系统驱动器,然后重新运行 grub-install 是否足够?
我在单引导系统上使用带有 GRUB 2(特别是 Debian Wheezy 上的 1.99-27+deb7u1)的 Linux(无需考虑安装第二个操作系统)。
答案1
Grub2 支持 GPT,因此从新驱动器启动不会有任何问题。您的 BIOS 是否可以启动 GPT 驱动器是另一回事。如果将 BIOS 从传统模式切换到 EFI 模式,则需要安装grub-efi包裹。
您需要在新驱动器上安装引导加载程序。最简单的方法是首先将数据复制到新驱动器,然后 chroot 并运行grub-install
,将新驱动器作为命令行参数传递给它。如果此时您有两个驱动器,则可能需要编辑/boot/grub/device.map
.
有多种方法可以复制文件。最好的方法是通过 mdraid(Linux 软件 RAID)或 LVM 在两个驱动器之间设置镜像。这样做的好处是,您可以在设置镜像的同时继续使用系统;完成后,安装引导加载程序,重新启动,破坏镜像,如果需要,至少扩大一个文件系统以利用额外的空间。如果您的文件系统位于 PC 分区上,您可以将它们转换为 RAID1,但它很繁琐。您可以借此机会将文件系统放在 LVM 卷上(而不是 RAID1 卷上)——这很简单,并且使维护更容易。
如果文件系统的大部分被占用,则批量复制文件系统比复制文件要快。很难给出一个阈值,因为这不仅取决于正在使用的磁盘空间量,还取决于文件大小的分布。要批量复制文件系统,您可以使用旧磁盘(例如)和新磁盘(例如 )的cat </dev/sdOLD1 >/dev/sdNEW1
位置。在安装文件系统时不要执行此操作。sdOLD
sda
sdNEW
sdb
如果复制所有文件,请确保保留所有元数据,尤其是所有权和分区。cp -ax /media/old-root /media/new-root
作品。
如果您重新排列了分区,请确保更新/etc/fstab
./etc/crypttab
如果您有加密卷,您可能需要更新。
答案2
您描述的更换驱动器的步骤应该足够了。如果您是双启动 Windows,您可以遇到问题。
复制文件时,不要忘记保留所有文件属性。如果您使用的是cp
,请按如下方式运行:
cp -a -r /deva/* /devb
检查复制文件的完整性也是一个好主意。
diff -qr /deva /devb