/dev/sda 是一个 400 GB 的驱动器。它的分区如下:/sda1 - Windows 启动分区 (100 MB);/sda2 Windows “C:\”(68 GB);/sda3 是 Linux 启动分区;/sda5 是 /home 分区;/sda6 是 linux-swap。
/sda1 和 /sda2 已被删除,并且 /sda2 扩展为 /sda1。
我想将 /sda3 克隆到 /sda1,并且让 12.04(精确的穿山甲)知道从 /sda1 启动而不是从 /sda3 启动。
如何编辑 /etc/fstab 和 GRUB2 以获得正确的(我不知道如何用文字表达这个想法)UUID?我知道使用 GParted 将 /sda3 “复制”到 /sda1 需要进行编辑,以使复制的分区具有与原始分区 (/sda3) 不匹配(或 UUID 编号相同)的 UUID。我还必须采取哪些其他步骤来避免混淆 GRUB2 和 fstab,以便它们和谐地工作,并且我不会损害硬盘上的操作系统/数据/其他内容?
接下来,我想将 /sda1 缩小到 25 GB(目前为 68 GB),并继续将 /sda1 作为启动项。然后我想使用缩小后的 /sda1 中的 43 GB,并将其添加到(即将)未使用的 /sda3,然后将 /sda5 扩展到扩展的 /sda3
我无法发布 gparted 的屏幕截图,因此这里使用 fdisk -l 代替:
mark@Lexington-19:~$ sudo fdisk -l
[sudo] password for mark:
Disk /dev/sda: 400.1 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders, total 781422768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf3e1e104
Device Boot Start End Blocks Id System
/dev/sda1 2048 143570943 71784448 83 Linux
/dev/sda3 * 143572905 174176729 15301912+ 83 Linux
/dev/sda4 174176791 781417664 303620437 5 Extended
/dev/sda5 174176793 764420894 295122051 83 Linux
/dev/sda6 764420958 781417664 8498353+ 82 Linux swap / Solaris
答案1
我认为最简单的方法是启动 Ubuntu 桌面 CD。然后您可以使用 gparted 复制粘贴您的分区。
gparted 的唯一技巧是您必须一次应用一步的更改。
删除 sda1 -> 应用更改 -> 复制 sda3 -> 粘贴 -> 应用更改。
复制分区后,您还可以使用 gparted 创建新的 UUID
选择分区→新 UUID
将分区挂载到 /mnt
sudo mount /dev/sda1 /mnt
编辑 fstab,在根文件系统的条目下输入新的 UUID。
如果需要,使用 blkid 列出 UUID
blkid
gksu gedit /mnt/etc/fstab
重新安装/更新 grub
sudo grub-install --boot-directory=/mnt/boot /dev/sda
也可以看看:
答案2
您想将 Linux 分区从 3 移到 1 有什么特别的原因吗?您是想提高性能还是只是出于习惯?
简单的方法
- 从 Live CD 中缩小 Linux 分区
- 删除分区 sda1
- 将分区 sda2 移动到硬盘最开始处,将 sda3 移动到后面
- 扩展包含 sda5 和 sda6 的扩展分区
正确的方法
- 从 Live CD 中将 Linux 分区缩小到最小
- 将分区 sda2 和 sda3 尽可能移到末尾
- 调整 sda1 的大小并格式化
- 将所有内容从 sda3 复制到 sda1
rsync --progress -av
,并在 sda1 上相应地修改 fstab - 使用以下命令重新安装 grub
grub-install --boot-directory=/path/to/mounted/sda1 sda
- 删除分区 sda1
- 扩展包含 sda5 和 sda6 的扩展分区
优点:Linux 分区在物理上处于第一位(并且也是经过碎片整理的 Linux 分区)
缺点:需要重新安装引导加载程序
肮脏的方式
- 将分区 /dev/sda2(设备)转储
dd
到文件(如外部硬盘),记下分区的确切大小并将其和 sda1 一起删除 - 将 sda3 调整为所需大小并将其移动到硬盘的最开始位置
- 重新创建 Windows 分区并将转储写回分区(切换输入和输出文件/设备)
- 扩展包含 sda5 和 sda6 的扩展分区
优点:Linux 分区在物理上处于第一位,无需重新安装引导加载程序
缺点:sda3 仍然是 sda3,而曾经的 sda2 可能是 sda1,小心不要写入错误的分区dd
,转储需要更多时间,因为它会复制所有内容(甚至不再存在的文件和文件片段)
推荐
走捷径。如果性能很重要,就买 SSD。(我知道这是最近最常用的短语,但值得付出努力。)