天天看点

Ubuntu16.10 迁移到 SSD(精简与改进)1.参考2.准备3.分区4.拷贝5.grub6.文件系统挂载7.修复引导

目录

1.参考

2.准备

3.分区

4.拷贝

4.1 /boot拷贝

4.2 /home拷贝

4.3 / 拷贝

4.3.1 不用拷贝重新新建的文件夹

4.3.2 直接拷贝的文件夹

4.3.3 稍微复杂一些的文件夹拷贝

5.grub

6.文件系统挂载

7.修复引导

1.参考

主要参考https://www.jianshu.com/p/478567d8b14a,从中截取操作部分,添加一些备注,修改一些错误。

2.准备

笔记本:Acer TravelMate X483G-SMB   这款笔记本比较坑,在BIOS只能检测到接内置硬盘那个口的硬盘,要想迁移ubuntu到SSD还得先将固态放到光驱处当成操作系统内可访问的设备,根据本文操作后,再将SSD接入到内置硬盘口处。

将内置硬盘放到光驱口,在文章最后部分修复引导后,grub引导可以找到硬盘里的系统。

3.分区

先装图形化分区工具

sudo apt-get install gparted
           

这里不详细记录怎么操作的,只把结果贴上,这里显示sda其实是因为这幅图是迁移系统后查看的分区(我把SSD放到主硬盘口了),实际上应该是sdb,详细见参考。

Ubuntu16.10 迁移到 SSD(精简与改进)1.参考2.准备3.分区4.拷贝5.grub6.文件系统挂载7.修复引导

相比参考多了swap区,不知道哪种方式更好。

4.拷贝

4.1 /boot拷贝

sudo mount /dev/sdb2 /mnt
           
sudo cp -rf -a /boot /mnt/boot
sudo rm -rf /mnt/boot/grub#之后会重建
           
sudo umount /mnt
           

4.2 /home拷贝

sudo mount /dev/sdb5 /mnt

sudo cp -rf -a /home /mnt

sudo umount /mnt
           

4.3 / 拷贝

sudo mount /dev/sdb3 /mnt
           

4.3.1 不用拷贝重新新建的文件夹

sudo mkdir cdrom dev media proc sys tmp 
sudo chmod 777 tmp
           

4.3.2 直接拷贝的文件夹

#单个文件夹拷贝,方便查找出错位置
sudo cp -rf -a /bin /mnt
sudo cp -rf -a /etc /mnt
sudo cp -rf -a /lib /mnt
sudo cp -rf -a /lib32 /mnt
sudo cp -rf -a /lib64 /mnt
sudo cp -rf -a /opt /mnt
sudo cp -rf -a /sbin /mnt
sudo cp -rf -a /snap /mnt
sudo cp -rf -a /srv /mnt
sudo cp -rf -a /usr /mnt
sudo cp -rf -a /var /mnt
           

4.3.3 稍微复杂一些的文件夹拷贝

拷贝/run文件夹,但/run/user/ 下的文件有些是FUSE文件系统,详见https://www.zhihu.com/question/25145286?sort=created。里面说“你 su 成它认可的用户就可以”。

先再/mnt下新建run,然后将/run文件夹下除了/run/user/之外的文件:

ls /run | grep -v "^user" |xargs -i sudo cp -rf -a /run/{} /mnt/run
           

然后拷贝/run/user/121

sudo cp -rf -a /run/user/121 /mnt/run/user
           

然后拷贝/run/user/1000

sudo su
su staillyd        #staillyd为我的用户名
cp /run/user/1000 /mnt/user
           

先不要卸载/mnt,在第5步grub里仍然要挂载SSD里的/分区

5.grub

#x64ubuntu也是i386-pc
sudo grub-install --target=i386-pc --root-directory=/mnt --recheck --debug /dev/sdb
sudo mv /mnt/boot/grub /mnt/grub
sudo rm -rf /mnt/boot
           

6.文件系统挂载

#查看各个分区的地址
sudo blkid
           
sudo gedit /mnt/etc/fstab
           

我的文件:

Ubuntu16.10 迁移到 SSD(精简与改进)1.参考2.准备3.分区4.拷贝5.grub6.文件系统挂载7.修复引导

7.修复引导

#GRUB Rescue模式(第一次从拷贝的ubuntu系统启动会自动进入该模式)
SET prefix=(hd0,gpt2)/grub/                #SSD中/boot/grub的文件夹
insmod normal
normal                                     #进入grub正常模式
           
#注意vmlinuz-4.15.0-54-generic、initrd.img-4.15.0-54-generic两个文件
#是SSD中/boot/grub文件夹下有对应版本号的文件
#root=/dev/sda3     中sda3是指SSD中/目录所在分区,我设的是第三块分区
grub> linux (hd0,gpt2)/vmlinuz-4.15.0-54-generic ro root=/dev/sda3    #设置启动的 Linux 内核
grub> initrd (hd0,gpt2)/initrd.img-4.15.0-54-generic                  #设置虚拟内存
grub> boot                                                           #启动 SSD Ubuntu
           
#在进入SSD的Ubuntu系统后重建grub引导
$ sudo update-grub
$ sudo grub-install /dev/dsa
           

继续阅读