为了让这个功能发挥作用,我尝试了很多方法,但我还是遗漏了一些东西。
我的 8GB 可启动闪存驱动器空间不足。我运行的是 12.04 服务器。驱动器有 sda1(主 4GB)、sda2(扩展 4GB)和 sda5(交换 4GB)。
我尝试使用 ddrescue(整个驱动器复制)将旧驱动器复制到新驱动器,然后使用 gparted 在另一个 Linux 机器上调整大小。我让 sda1 占用 ~22Gb(驱动器的 75%),并将剩余空间用于 sda2 和 sda5。当我尝试启动它时,我进入 GRUB 菜单,当我选择操作系统时,我收到一条消息,提示空间不足。
下次再试。
我 dd 了新驱动器的 MBR,然后创建了 sda1 - 主 linux 83(驱动器上 75% 的扇区)、sda2 - 扩展 5(25% - 剩余扇区)、sd5 - 逻辑 linux 82 交换(与 sda2 相同的扇区)。然后我写入了更改并退出 fdisk。然后我使用以下命令运行 ddrescue:ddrescue -d -f -r3 /dev/sda1 /dev/sdb1(将旧驱动器复制到新驱动器)。它成功完成。我安装了新复制的分区并运行 df 来查看可用空间,它显示的空间与旧的小驱动器相同 - 已使用 97%。我想我必须调整大小或做些什么,所以我将驱动器移动到其他 linux 框并运行 gparted。没有发现分区需要调整大小。
新分区具有与原始分区相同的 UUID,但我想我可能需要将旧的交换分区 UUID 复制到新分区,但我不知道如何操作 - 只知道如何随机生成一个新的。
那么,我哪里做错了。我接近正确了吗?
答案1
好的,这就是我要做的:
假设您的旧磁盘是 /dev/sda,新磁盘是 sdb。
dd if=/dev/sda of=/dev/sdb
此后,检查它是否正在启动。
如果是,您可以使用您选择的工具调整分区大小。
答案2
您也可以使用 clonezilla (http://clonezilla.org/)。它提供了许多选项,但是对于您的情况,使用 dd 命令比较好。
答案3
是的..我会删除交换分区..将其从/etc/fstab中注释掉,然后使用dd克隆它(使用bs = 4096)然后从新驱动器启动..扩大你的根fs(如你所评论的)然后在工作时..只需创建一个新分区,输入“swap”..然后你就可以用“fdisk -l”看到它了,然后只需用“mkswap [-c] [-f] [-p PSZ] [-L label] [-U uuid] device [size]”将其设置为可用的交换系统并运行“swapon -a”来测试它。
或者.. 只需使用 clonezilla。