我系统都是只装在一个分区中,所以直接在 root 模式下执行迁移:
大概一个小时就迁移完成了。
这里要注意的是拷贝的源和目标分别是 /dev/sda1 和 /dev/sdb1 这两个分区,而不是 /dev/sda 和 /dev/sdb 这两个硬盘名称。
最后更新一下硬盘信息(不然显示的大小信息等还是旧硬盘的信息):
dd 工具会将 uuid 也一起拷贝,所以拷贝完成之后,只要将旧的硬盘拆卸下来,替换上新的硬盘,不用修改 /etc/fstab 文件,就能按照你以前的设置自动挂载。
重新启动电脑,顺便修改下Grub,因为莫名其妙出现了一个error问题(具体忘了,上午的事)。
修改文件 /etc/default/grub :
最后更新一下:
如何把Linux系统移植到U盘或移动硬盘上,并从USB驱动器中启动并运行?下面我将教大家制作随身携带、即插即用的Linux *** 作系统。(把当前系统移植到移动硬盘上)
为什么需要这个功能呢?
硬件:
软件:
Linux发行版自带的工具 如 gparted grub cp
制作
Linux启动盘的制作分为以下几个步骤:分区、复制文件、安装grub并配置、测试。 目的是把当前系统移植到移动硬盘上。
从LiveCD启动,打开gparted分区工具, 把移动硬盘的分区表改为GPT 。我使用以下分区方案:
sdb1是UEFI+GPT模式下的引导分区,grub引导器就要装在这里。
sdb2是放数据的,为了与Winodws兼容所以采用NTFS。
sdb3是Linux系统的全部内容,如果你想把家目录单独分出来也可以。
后面留空备用,结果如下图
我原系统的文件储存在 /dev/nvme0n1p3 (根分区)和 /dev/nvme0n1p4 (家分区)上,把这两个分区挂载到 /mnt /mnt/home。每个人的分区情况不同,需要对应修改。挂载后,/mnt 目录包括原系统的所有内容。
挂载 /dev/sdb3 到 /media/backup,把 /mnt 内容全部复制到 /media/backup
cp -a /mnt/* /media/backup/
GRUB 提供一个安装程序grub-install用以安装 GRUB 到磁盘,下面是grub-install的一些常用参数及选项:
UEFI 特有参数及选项:
挂载 /dev/sdb1 到 /media/backup/boot/efi ,把grub安装到移动硬盘上
上面的 --boot-directory --efi-directory --removable 不可省略。
安装之后要修改grub配置文件,就让他自动生成好了。但要禁用os-prober功能——自动探测硬盘上的其他 *** 作系统然后生成配置。Linux To Go 不依赖于其他 *** 作系统,它的启动菜单里只有自己。注意,不要使用update-grub,因为它会修改UEFI启动项。
修改 /media/backup/etc/fstab,把UUID换成对应的值
安装grub后,还要手动修改 /media/backup/etc/fstab 。Linux To Go只需要自动挂载两个分区—— sdb1 ESP 和 sdb3 DEEPIN_ROOT,修改对应的UUID。
现在可以重启试试了。开机按下F12 UEFI启动菜单中有移动硬盘这个启动项,选择即可。
如果成功就OK;如果黑屏断电,查看/media/backup/boot/efi 下的文件 把BOOTX64.EFI删除,把 grubx64.efi 重命名为 BOOTX64.EFI 再重启。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)