首先,为啥:
因为一开始头铁,加上当时对这个系统还不熟,还以为飞牛的系统盘能像freeNas那样能挪作他用,于是乎直接大手一挥划了320G SSD 给他。
结果,装完系统后就只占用了可怜的10G多一点,剩下300多G丢在那放着浪费……
我用这系统目的就是为了他自带的内网穿透,省得再占用我的服务器内网带宽了,以及他的影视APP的颜值还算不错,它除了nas该有的存储功能,剩下啥都不用它干,之所以那么多空间完全用不上。
好吧,干他。直接给他砍一位数!
下面操作飞牛OS里面直接可以搞定,用户默认root,需要有一定的基础,不建议纯小白瞎玩。此外,数据宝贵,勤点备份(像我就先对虚拟机做了次镜像。
废话少说,这就开始。
首先在虚拟机划分一款硬盘给nas
然后lsblk命令查看磁盘的挂载情况,我新划分的盘是sde,要迁移的盘是sdc
sdc 8:32 0 320G 0 disk
├─sdc1 8:33 0 94M 0 part
└─sdc2 8:34 0 319.9G 0 part /
sde 8:64 0 20G 0 disk
从下面开始谨慎操作,注意核对命令
parted /dev/sde --script mklabel gpt
parted /dev/sde --script mkpart ESP fat32 1MiB 101MiB
parted /dev/sde --script set 1 esp on
parted /dev/sde --script mkpart primary ext4 101MiB 100%
这是分好区的磁盘的样子
lsblk /dev/sde
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 100M 0 part
└─sde2 8:66 0 19.9G 0 part
开始格式化
mkfs.vfat -F 32 /dev/sde1
mkfs.ext4 /dev/sde2
挂载分区准备迁移
mount /dev/sde2 /mnt
bios引导不要下面这两行,做了也没啥影响
mkdir -p /mnt/boot/efi
mount /dev/sde1 /mnt/boot/efi
然后我用的是bios引导
parted /dev/sde2 --script set 1 bios_grub on
下面这步并不需要执行,看下你认不认真而已
mkdir -p /我是一只喵/喵喵喵喵喵
复制文件(这步比较慢,等他慢慢跑完,如果你还挂载有其他盘,别忘了吧其他盘也增加在--exclude排除目录选项里去
rsync -aAXv --exclude={"/mnt","/proc","/sys","/dev","/run","/tmp","/boot/efi"} / /mnt
mkdir -p /mnt/dev /mnt/proc /mnt/sys /mnt/boot /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt /bin/bash
然后根据引导方式不同,重建不同的引导,ufi引导是这一步
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
bios是这一步
grub-install /dev/sde
update-grub
blkid /dev/sde1 记住他的uuid(bios引导不用
blkid /dev/sde2 也记住他的uuid
然后
nano /etc/fstab
将下面俩句写入文件
UUID=<sde1的UUID> /boot/efi vfat defaults 0 1 (bios引导不用
UUID=<sde2的UUID> / ext4 defaults 0 1
退出并卸载文件
exit
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt/boot/efi
umount /mnt
接下来关机,修改虚拟机引导盘
这里先别着急删掉旧虚拟硬盘,我们可以测试通过修改磁盘排序来改变他的引导.将旧的硬盘的scsi改到后面,新硬盘改到0:0,然后尝试开机.
哦嗬,报错了
看了下,根下面少了两个文件,不要紧,吧引导盘顺序改回来重新做一次initramfs 和 grub。
mount /dev/sdd2 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
重新生成 initramfs
update-initramfs -u -k all
mkdir -p /run /run/lock
exit
然后重装引导
chroot /mnt
grub-install /dev/sdd
update-grub
exit
umount /mnt/dev /mnt/proc /mnt/sys /mnt
关机,修改引导选项,然后重启后顺利进系统
df -h 看了下,根目录的磁盘空间下去了
进系统点了下也一切正常,系统分区也显示正常
至此系统盘缩容完成