我现在的硬盘正在失败,我用dd支持它。在将映像还原到新的硬盘上之后,也使用dd,新系统将不会启动。它通过BIOS初始化,然后屏幕变黑,并通过BIOS重新启动和返回。
这是旧的HDD设置:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 103426047 51200000 83 Linux
/dev/sda3 103426048 113666047 5120000 82 Linux swap / Solaris
/dev/sda4 113666048 1250263039 568298496 5 Extended
/dev/sda5 113668096 523268095 204800000 83 Linux
/dev/sda6 523270144 625670143 51200000 83 Linux
/dev/sda7 625672192 1250263039 312295424 83 Linux/dev/sda1是/boot
/dev/sda2是/
我已经完成了这两个分区的dd。
/dev/sda7是/home使用rdiff-backup支持的。
我漏掉了什么,怎么纠正呢?
fstab
UUID=80c4cde7-b697-46d5-a376-24a6d6a725af / ext4 defaults 1 1
UUID=c1967ecb-839c-45d1-bf5b-bba046af3892 /boot ext4 defaults 1 2
UUID=c18998dd-0e60-4945-999f-1296b6e69307 /home ext4 defaults 1 2
UUID=78d39426-74d4-4299-b3ba-c9ab27a60e17 /mnt/m ext4 defaults 1 2
UUID=53574e4d-8af4-4aeb-bcf5-c74c7bbe4d7c /mnt/p ext4 defaults 1 2
UUID=3902f59a-f7a8-4ab8-896d-93642a09f083 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0我在dd的回答中提到了MBR,也不得不手动修改fstab以匹配新的分区‘UUID,如blkid所示。
发布于 2013-07-04 14:42:34
在我看来,你的新硬盘没有它的主启动记录(MBR)。这就是为什么没有出现GRUB的原因,您的系统只需报告"OS未找到!“或者类似的。
为了将旧的MBR传输到新驱动器,您可能需要看看这个howto:http://www.cyberciti.biz/faq/howto-copy-mbr/。
简言之,它归结为以下步骤,这些步骤是我无耻地从上述来源窃取的:
root@machine:~# dd if=/dev/sda of=/tmp/mbrsda.bak bs=446 count=1假设您的旧硬盘名为"sda",这将有效地将其引导扇区备份到文件/tmp/mbrsda.bak。
root@machine:~# dd if=/tmp/mbrsda.bak of=/dev/sdb bs=446 count=1在上面,我从原来的源代码中修改了用于"bs“的值,因为我假设您的新HDD分区表不同于旧的HDD,所以我认为没有必要对它进行备份。
我希望这能帮助解决你的问题。
发布于 2013-07-04 12:09:08
您也需要复制引导加载程序(除非您从CD引导并重新安装它)。可以通过在第一个分区之前复制所有扇区来实现这一点。但是,您可能必须在以后恢复分区表(或者在复制时忽略它)。
发布于 2021-05-28 09:26:37
对于UEFI+GPT分区,我尝试检查BIOS设置,从另一个磁盘应用MBR备份(如果您从/dev/sda设备备份/还原到磁盘设备(/dev/sda等),但所有这些都是不必要的。我将源代码系统复制到14个类似的物理框中,在“dd”整个磁盘之后单独恢复MBR没有什么区别。现在我了解到MBR中的GRUB2代码必须嵌入了特定于旧磁盘的sth. ),我只需要重新安装grub:
UEFI mode grub引导CD/USB,引导到grub控制台(不需要引导到活动系统,只需在grub2启动菜单屏幕上按c即可。注意:使用grub1/grub4dos控制台,您看不到GPT分区。)ls (hd<press tab>探测磁盘,找到原始的grub.cfg文件。我的位置在(hd0,gpt1)/boot/efi/grub.cfg,然后是configfile (hd0,gpt1)/boot/efi/grub.cfg类型。现在你刚刚启动了你原来的系统。sudo grub-install /dev/sda0将grub重新安装到新磁盘的MBR中。(通常为/dev/sda0,但磁盘代码可能有所不同。因此,如果不确定,请检查您的系统所在的磁盘)。https://unix.stackexchange.com/questions/81708
复制相似问题