Win7+Ubuntu双系统结构下,Ubuntu克隆至新硬盘,启动成功
- 前言梗概:
750GB 机械硬盘下安装 Win7 和 Ubuntu双系统,之前Win7单独重装后,将grub引导覆盖;利用EasyBCD恢复Ubuntu启动。
最近发现之前Ubuntu分配空间太小,想将其安装到一个大一点的SSD(固态硬盘)上。
Ubuntu情况如下,
- /dev/sdb8为swap分区
- /dev/sdb9 为/boot分区
- /dev/sdb10为/ 分区
- /dev/sdb11为/home分区
所以,任务是将4个分区克隆到更大的SSD硬盘。
1、新硬盘分区
使用原有系统GParted对分别分配4个分区,且保证空间大小均比原有空间大。
2、克隆CloneZilla
克隆常见方法有:dd命令和再生龙 (CloneZilla)。这里采用CloneZilla方法。
下载地址:http://www.clonezilla.org/downloads.php,
ubuntu系统,我下载了 alternative stable - 20180812-bionic 版本。利用UltraISO制作成U盘启动盘。
操作文档比较详细:http://www.clonezilla.org/clonezilla-live-doc.php
按照文档操作,使用Device To Device 选项,依次将4个分区复制到新硬盘对应的4个分区(此处危险:请看清楚 源分区和目标分区,否则后果自负。);这个过程重复4次。
源分区在前,目标分区在后;......经过4次 ,克隆完成。
3.修改uuid
这时,原有系统UUID和grub均复制到新硬盘,此时系统处于三系统(win7+ubuntu12.04+ubuntu12.04)双硬盘结构(机械硬盘+SSD固态),如果UUID相同是没法识别新硬盘的分区的。
使用命令,创建分区新的uuid
sudo uuidgen | xargs tune2fs /dev/sda5 -U
详细参照:https://www.cnblogs.com/EasonJim/p/7471681.html(Linux下查看硬盘UUID和修改硬盘UUID(转))
修改 /etc/fstab 和 /boot/grub/grub.cfg中uuid的新分区的uuid。
4.引导和启动
启动遭遇失败:
1、直接无法启动,grub Error 15; 网上说原因是 grub没有找不到 grub.cfg。
1、使用ubuntu live cd 进行恢复grub ,启动仍然是grub>命令。
2、出现解决Grub Rescue: invalid arch independent ELF magic问题;发现是下载Ubunt系统中默认 是grub-efi-amd64 库,而我是BIOS引导,因此先移除之。
sudo apt-get remove grub-efi-amd64 #移除grub-efi
sudo apt-get install grub-pc #安装普通grub
但是结果仍然不能登录。
重要软件登场:
super Grub2 disk 是极好的引导工具,只适用于BIOS引导,EFI引导的请移步。
下载地址:https://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
仍然利用UltraISO制作 U盘;
注意:刻盘时默认方式是RAW,这个不要修改为HDD+什么的,否则U盘很可能不能启动成功。
此时U盘不能正常读取,会提示“格式化” ,可以忽略。
【U盘恢复】: 当用完之后,采用HDD+模式再写一次,windows自带格式化即可。
5、永久性保存启动引导——待完善
启动super Grub2 disk。它会自动扫描全盘的引导配置,列出所有的引导菜单,这时发现之前熟悉的ubuntu菜单,点击进入看到久违的熟悉面容。(此处欣喜不已,连干三杯,爽歪歪!!)。
- 为了保存永久性启动引导,参考:https://blog.csdn.net/bensnake/article/details/39480271
mkconfig
,从 Linux 命令提示符生成一个新的 grub.cfg 文件:grub-mkconfig -o /boot/grub/grub.cfg
如果您的问题是 GRUB 仅显示了一个
grub>
提示符或完全未启动,那么您必须将 GRUB 重新安装到您硬盘上:grub-install /dev/sda
但是最终未能成功,从SSD加载登录系统,提示grub>.
- grub原理待研究,应该是stage1、stage1_5、stage2,应该是stage1_5出了问题。
欢迎指正和补充。。。