我无法思考如何实现我的分区目标。
现在我的分区是:
- sda1 (winA)(主要)
- sda2 (winB)(主要)
- sda3(/ 用于 Linux)(主要)
我想要迁移到的是(显然分区号不需要完全一样)
- sda1 (winA)(主要)
- sda2 (winB)(主要)
- sda3 (/boot)(主要)
- sda4 - 扩展,其中将包含
- sda5(/主页)
- sda6 (/)
- sda7(交换)
我想到的一种方法是:
- 为/boot创建一个新的主分区,并将其从根分区拆分到新分区中。应该不会太难。那么该磁盘将有 4 个主分区。
- 以某种方式将 ubuntu 根分区从主分区转换为扩展分区。
- 将最后一个分区拆分为 3 个扩展分区(root、/home、swap)并将其中的内容拆分。
我显然陷入了第二部分。
另一种方法可能是(也许更简单):
- 创建一个(或两个)扩展分区
- 斯普利特/那里的家
- 以某种方式将除 /boot 之外的所有内容移至扩展分区。这样,/boot 将保留在现有的主分区上,并根据需要缩小,而其他所有内容最终都将位于扩展分区中。
这听起来可能更好,但我不太确定如何完成第三部分,我想要一些反馈。
一些细节:磁盘几乎是空的,所以我有空间在其中移动东西,缩小Linux分区等。我不想以任何方式接触Windows分区。重新安装不是一个选择。另外,使用较少分区的不同分区方案也不是一种选择(例如没有单独的 /boot)
有任何想法吗?
答案1
第二个解决方案(创建/拆分/移动)似乎不错。我试图想出一些简短的指南,但是当心。也许等待其他答案/评论。笔记:如果您可能不熟悉命令行,那么本指南可能不是您想要的。
A。按照您的描述,为和创建扩展分区 ( sda4
) 。重新启动以重新加载分区表。/home
/
swap
B.使用所选文件系统类型(例如mkfs.ext4 /dev/sda5
和)格式化新分区mkfs.ext4 /dev/sda6
。格式化swap
为mkswap /dev/sda7
.
C。然后,您可以在第一次使用 安全地将内容从旧分区复制sda3
到新分区cp -a
。就像是:
mkdir /mnt/{oldslash,newhome,newslash}
mount --bind / /mnt/oldslash #mounted without submount points like /dev /proc
mount /dev/sda5 /mnt/newhome
mount /dev/sda6 /mnt/newslash
cp -a /mnt/oldslash/* /mnt/newslash
rm -rf /mnt/newslash/home/* # homes will be copied to newhome
cp -a /home/* /mnt/newhome
D .newslash
验证和中的布局newhome
是否正确。检查和中没有.*
文件,或者将它们复制到各自的目标。然后:/
/home
umount /mnt/oldslash
umount /mnt/newslash
umount /mnt/newhome
E.然后/etc/fstab
考虑新的分区设备/
(/home
和交换)进行修改。
F。重新启动并希望一切顺利。 (请确保有一些紧急 live CD 来修复您的系统,/etc/fstab
以防出现问题并且系统无法启动。)
G。然后,如果一切按预期进行,您可以删除除/boot
引导 ( sda3
) 分区之外的所有内容。