公司办公的主力电脑,是一块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启动系统。