要在已分区的系统中创建新分区,您应该从 livecd 开始,然后使用gparted
缩小sda1
分区(我假设占用磁盘上的所有空间,不包括交换),然后在创建的可用空间中创建一个新分区.
它当然可以在命令行上完成,但是GParted会处理许多难以跟踪的细节。
创建分区后,您应该将当前 home 的内容移动到新分区上,然后修改/etc/fstab
以将新分区挂载到/home
.
这是将文件从 sda1 实际移动到 sda2 的一种方法。所有这些都是以 root 身份完成的:
rm -Rf /
不应该删除它们。也不应该mkfs
放在错误的分区上。mkfs.ext4 /dev/sda2
(假设您对 ext4 没问题,这可能是您目前在 sda1 上使用的)。sda2
到不是 /home 的地方。例如,你可以mkdir /mnt/new_home
然后mount -text4 /dev/sda2 /mnt/new_home
.
和..
)这样做ls -l /home
。如果是这样,您需要单独复制(*
不会匹配它们,并且.*
不会执行您想要的操作):cp -a /home/* /mnt/new_home/
umount /mnt/new_home
。现在就做,以确保你不会不小心弄错了。rm -Rf /home/*
. 绝对,积极,不要/home/.*
在这里尝试。另外,请确保不要在该路径中意外添加空格。你至少应该有点害怕输入这个命令,这是一个可怕的命令,你应该三重检查你是否正确输入了它(否则,你将需要那个备份)。rm -Rf .*
. 那将匹配..
,这意味着父目录,最终导致文件系统完全破坏(尽管某些版本rm
可能拒绝这样做,但您不应该依赖于此)。/etc/fstab
并添加一个条目为您的新SDA2分区,就像这样:/dev/sda2 /home ext4 relatime,user_xattr,errors=remount-ro 0 2
。如果您愿意,您可以使用不同的标志,这些是我使用的标志。此外,该pass
数字 (2) 假定您在 sda 上只有两个文件系统,这似乎很有可能,因为这是 sda2。mount /home
。这应该没有错误地运行,并且您的文件应该在那里。如果出现错误,请检查您的 fstab 行。如果您收到有关挂载点下的文件被隐藏的警告,则您没有在最后几个步骤中删除所有内容:卸载/home
并删除其余部分。如果文件丢失,请参阅第一步。