调整Wubi虚拟磁盘的大小的两种方案

Wubi安装后,会在安装分区的ubuntu\disks下创建一个名为root.disk的虚拟磁盘文件,这便是你安装Wubi后Ubuntu的/目录。有的时候我们可能因为一些原因,发现自己的Ubuntu系统分区不够用了。你可能会采用备份好Ubuntu系统的内容,再安装一遍(说实话,我不认为这是一个多好的主意)。这时我们有两种调整root.disk的方案供你选择。

方案一

作者:bcbc 译者:hcl 来源:Ubuntu Community Help Wiki

关于这篇文章的讨论见此

这种方案在严格上来说可能并不算是调整大小,更像是复制出一个新的虚拟磁盘。这个方案的好处在于,它不会直接调整你现有的root.disk,并且会留有备份。然而,不利的是,如果你想把Wubi的虚拟磁盘从7GB调整到10GB,你首先需要额外的10GB空间,并且还要预留空间给Windows来操作(如果你磁盘紧张,这不是一个理想的方案)。这个方案必须在Wubi安装的Ubuntu下面完成。

自动调整

先下载wubi-resize-1.7.tar.gz,右键解压。打开终端。

关于这个脚本用法的简介,执行以下命令:

cd ~/Downloads/wubi-resize-1.7
bash wubi-resize.sh –help

比如我们创建一个10GB的虚拟磁盘,就可以执行:

sudo bash wubi-resize.sh 10

下面是1.6版本执行情况的截图。

wubiresize

脚本执行完成后会要求重新启动到Windows,重命名\ubuntu\disks\root.disk为\ubuntu\disks\OLDroot.disk,并接着重命名\ubuntu\disks\new.disk为\ubuntu\disks\root.disk。

不要删除OLDroot.disk,除非你已确信新的root.disk可以正常工作(或者你就留着作为备份)。

提示:这个脚本会把分离的虚拟磁盘文件合并成单独的一个文件,并且自动调整相应的/etc/fstab 。如果不想这样做,可以使用手动方法。这个脚本限制最大的虚拟磁盘文件的大小为32GB,要获得更大空间,请参考使用简介添加参数执行(如果有这种情况的话,我更推荐直接迁移到实体分区上)。

耗时情况

在我(原作者)新安装Ubuntu的电脑上创建一个5GB的虚拟磁盘,dd需要4分钟,mkfs需要9秒,rsync需要6分钟。如果你创建更大的可能需要更长时间。根据你创建的大小以及数据量估计用时为20-30分钟不等。

What’s new

What’s new in version 1.7 :Supported ACL (access control lists) used for mounting removable media.

What’s new in version 1.6 :Added support for grub-legacy (original install on Ubuntu 9.04 or earlier), as well as some minor formatting changes and clean up. Added with version 1.5b is the “–resume” option. You can use this if the initial resize failed to complete normally due to an rsync copy error e.g. file corruption. After fixing the corruption rerun with this option. It can also be used to keep an up to date copy of the root.disk (it synchronizes the new.disk with the current install).

已知问题

无。

注意:root.disk是单独保存在/host分区下的。将数据储存在其中具有很高的风险。因此我强烈建议你定期备份。并且一定要避免强制关机!

现在这个脚本的代码已经被托管在GitHub上了,如果你有兴趣参与开发、贡献或是提交问题,请移步https://github.com/bcbc/Wubi-resize。

验证脚本

压缩包内含有已签名的wubi-resize.sh的sha256和MD5校验和。你可以按照下面的方法手工验证。

先下载我(原作者)的GNUPG公钥,并且带上我(原作者)在LaunchPad主页上的KeyID:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x3310A652

验证被我(原作者)签名的校验和文件:

gpg --verify SHA256SUMS.gpg SHA256SUMS
gpg --verify MD5SUMS.gpg MD5SUMS

验证脚本文件:

sha256sum --check SHA256SUMS
md5sum --check MD5SUMS

如果以上的任何一项失败,不要运行脚本。注意出现我的Key不可信是正常现象,只要KeyID是正确的并且校验和签名是有效的就行。压缩包内同样有verify.sh来完成上述步骤。

手动操作

对于感兴趣的人,这里有脚本执行的命令详解。

注意:dd命令和mkfs命令如果使用不当是十分危险的!(可以摧毁你的所有数据)我仍然建议你使用上面的脚本来进行自动调整,因为有额外的检查和安全措施。
请确保你的磁盘有足够空间,例如,创建10GB就需要10GB可用空间,并且额外的空间留给Windows操作。当你的/host分区是FAT32格式时不要使用这个方法。

1、卸载任何不是挂载在/host 或者/media下的分区。(例如sudo umount /windows)

2、以root身份运行下面的命令,检查磁盘剩余空间:

sudo -i
df -h /host

3、新建虚拟磁盘文件(例如10GB的就是10,000MB),调整count=参数为适当值。

cd /host/ubuntu/disks
dd if=/dev/zero of=new.disk bs=1MB count=10000

4、格式化虚拟磁盘文件为EXT4文件系统。

mkfs.ext4 -F new.disk

5、挂载并复制文件到新分区。

mkdir -p /media/newdisk
mount -o loop new.disk /media/newdisk
rsync -aAXv --exclude '/sys/*' --exclude '/proc/*' --exclude '/host/*' --exclude '/mnt/*' --exclude '/media/*/*' --exclude '/tmp/*' --exclude '/home/*/.gvfs' --exclude '/home/*/.cache/gvfs' --exclude '/root/.gvfs' --exclude '/var/lib/lightdm/.gvfs' / /media/newdisk
umount /media/newdisk
exit

6、完成。重启到Windows,重命名\ubuntu\disks\root.disk为\ubuntu\disks\OLDroot.disk,并接着重命名\ubuntu\disks\new.disk为\ubuntu\disks\root.disk。不要删除OLDroot.disk,除非你已确信新的root.disk可以正常工作。

注意:如果你之前创建了分离的虚拟磁盘,比如/home,这些操作会将他们合并进新的虚拟磁盘。你需要移除/media/newdisk/etc/fstab中/home的入口(在卸载之前)(或者完全改变rsync命令的 –exclude ‘/home/*’ 参数)。

方案二

作者:bcbc 译者:hcl 来源:Ubuntu Community Help Wiki

这种方案是真正意义上的调整root.disk的大小,而且必须在LiveCD环境下执行。这种方法十分快捷并且可以充分利用宿主分区的剩余空间,相比于方案一的复制不知道好到哪里去。然而方案一却不需要LiveCD,并且给你完全的备份。

1、从LiveCD/USB启动,在Wubi的Ubuntu环境下不行。
2、 备份root.disk(不必要,但是是个好的主意)。
3、挂载你存放root.disk的NTFS分区。(例子中假设是/dev/sda1,并且挂载点是/media/win,请根据需要调整。)

sudo mkdir -p /media/win
sudo mount /dev/sda1 /media/win

4、检查root.disk的大小(不必要)。

du -h --apparent-size /media/win/ubuntu/disks/root.disk

5、对root.disk执行fsck命令。

fsck -f /media/win/ubuntu/disks/root.disk

6、调整大小——指定期望的大小(本例中为10GB)

resize2fs /media/win/ubuntu/disks/root.disk 10G

7、重新启动到Wubi Ubuntu下。

参考资料

ResizeandDuplicateWubiDisk | https://help.ubuntu.com/community/ResizeandDuplicateWubiDisk
ResizeWubiDisk | https://help.ubuntu.com/community/ResizeWubiDisk
由hcl@TechOtaku原创翻译

特色图像素材:
Windows Icons | https://github.com/Templarian/WindowsIcons | by ~ Templarian | CC
Metro UI Icon Set – 725 Icons | http://dakirby309.deviantart.com/art/Metro-UI-Icon-Set-725-Icons-280724102 | by ~ dAKirby309 | CC-BY-NC 3.0

《调整Wubi虚拟磁盘的大小的两种方案》上有9条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注