目錄
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,詳細見參考。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSPNR1T0EkeOJTUU10dVNDTwYVbiVHNHpleO1GTulzRilWO5xkNNh0YwIFSh9Fd4VGdsATMfd3bkFGazxyaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yN2QDOyUTMzAzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
相比參考多了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
我的檔案:
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