公司辦公的主力電腦,是一塊1T的機械硬盤,最近領導開心,給你們每人配了塊256G的固態硬盤,因而我今天把機械硬盤裏的Gentoo,遷移到了固態中。緩存
插入SSD後,舊的HD由原來的sda變成了sdb,新SSD成了sda。bash
原來HD的分區內容以下:ide
sdb1,EFI分區,原來掛載至/boot/efi下。 sdb2,swap分區, sdb3,/home分區, sdb4,/分區,
加入SSD後,準備新舊硬盤混用,新分區規劃以下:ui
sda1,/分區 sdb1,EFI分區,掛至/boot/efi下。 sdb2,swap分區 sdb3,/home sdb4,/var
將/var
放至HD下,以免對SSD的頻繁讀寫。code
現對固態硬盤進行分區:ip
root # parted /dev/sda (parted) mklabel gpt # 爲了對齊,以1做爲起始,使用整個SSD的95% (parted) mkpart primary ext4 1 95% # 檢查是否對齊 (parted) align-check optimal 1 1 aligned (parted) quit
格式化分區get
root # mkfs.ext4 -E stride=128,stripe-width=128 /dev/sda1
清理系統垃圾it
eclean distfiles rm -rf /usr/portage/distfiles/*
掛載SSDclass
mkdir /mnt/gentoo mount -o discard /dev/sda1 /mnt/gentoo
使用cp -av
命令,將/
下,除/dev
,/mnt
,/proc
,/run
,/tmp
,/var
,/sys
之外全部目錄,拷貝至/mnt/gentoo
下。此處也能夠使用dd
命令。配置
而後手動建立/mnt/gentoo/run
目錄
mkdir -v /mnt/gentoo/run
將原/var
下目錄拷貝至/
根下:
cp -av /var /
掛載所需的目錄,而後chroot
:
mount -t proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --make-rslave /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev mount --make-rslave /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) $PS1"
使用blkid
命令,查看硬盤的UUID。
編輯/etc/fstab
文件,按硬盤分區規劃,完善文件。
#/dev/sda1 UUID=XXX / ext4 defaults,relatime,discard 0 1
將/tmp
分區,放到HD上:
mkdir -pv /var/tmp ln -s /var/tmp /tmp
將/etc/portage/make.conf
下緩存文件的路徑,也設置到HD中。
安裝,並配置grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi grub-mkconfig -o /boot/grub/grub.cfg
取消掛載,重啓系統,享受新系統。
exit umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo reboot
剛安裝SSD後,系統沒法啓動,顯示沒法找到sda4。
緣由是原來HD變成了sdb,因此grub應該尋找的是sdb4纔對。
解決方法:
重啓計算機,在grub選擇菜單,近e
進入編輯模式,將hd0
修改成hd1
,將sda4
修改成sdb4
,按F10
從HD啓動系統。