温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用virtiope+colinux实现linux系统盘动态无损多分区

发布时间:2021-10-22 09:59:27 来源:亿速云 阅读:161 作者:柒染 栏目:云计算

如何利用virtiope+colinux实现linux系统盘动态无损多分区,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

利用colinx+virtio winpe定制aliyun多分区linux系统盘,在winpe xp winpe中运行colinux,在windows pe下真正操作linux分区,利用colinux作单硬盘分区扩容无损分区, bootice安装grub2-00 到硬盘,云主机越狱装自定义镜像

这样借助virtiope和一系统一数据区的双分区设置可以恢复一个全新的系统。我们将在装机领域,探索一种“在winpe下自由操作linux分区”的目标与可能。----- 文章最后,探索为单硬盘单分区下的云主机linux分裂为二个分区,打造一个类PC和手机recovery的可恢复rom机制,只要这样,在装机和实用阶段,都能完成某种“共盘,实用的windows,linux融合方案”,那文提到的设想才能基本变得“像那么回事”,也算有技术参考方向。

在winpe下操作linux分区的难点,在于它不如ntfs受windows中的磁盘工具如diskgen,pqmaigc之类与其结合支持得好,在windows下用此类工具操作EXT3,要么不受支持(需要特定驱动且这类驱动往往很原始),要么能读不能写ext分区,要么能写但是频频蓝屏,更别说动态对其调大小,与类gho方式恢复镜像等(diskgen493开始支持格式化EXT3,也不行,稍后会讲到)。甚至格式化都很久

关于单分区linux动态扩展出新分区有LVM这样的方案,但是要求在业已分好标识为8e的分区格式的情况下进行。

我们的总目标,还要打造一个windows,linux二合一的pe维护盘(保证一切在该xp based winpe下完全,且不需要二次进不同的ISO环境,比如合盘的windows+linux pe)。这一切我们将在1g内存的阿里云预装了ubuntu14.04 32bit的一台机器上完成。下面开始:

在阿里云上利用noimagecolinux实现linux系统盘的动态分区扩容

这里我们额外用到的virtiope工具有(除了原来封装于virtiope的四个:showdriver,ext234reader,bootice,ramdisk),还有:winpm 7 服务器版本for winpe,它用来分出新ext3区。,还有colinux noimage(busybox我们能用到的工具有mount,tar,cp等等)用来重建系统:众所周知colinux,根据我的《发表colinux》,它被定位于guestos,可是它本身也是工具,colinux可以nomiage的配置形式运行,可加载windows目录为分区也可加载本地硬盘为分区。不加载任何镜像的colinux自带busybox,可以实现在windows下操作linux硬盘分区,实现真正的重新格式化,分区,扩容等效果。最后还需要从网上找一份新grub boot文件包,用来重建grub2.0。

1)准备工作,将以上几个工具和boot文件包上传放到boot/tools下,然后tar整个根目录

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /

看到打包后的大小是570m,这个就是原系统镜像。

2)然后,启动进入virtiope,利用ramdisk建立一个590m的内存盘(size=0000250 hex)。利用234extreader将/boot/tools和backup.tar.gz放进来这里的暂存盘是T:(为了操作234extreader你最好要有一个带右键菜单的键盘),利用winpm删除整个40G分区然后分二个小ext3分区,一个10G用来作新的系统盘,其它30G用作自由空间日后作数据和镜像存放。打开colinux conf文件夹,noimage.conf中设置如下:

cobd0="\Device\Harddisk0\Partition1"
cofs0="..\..\..\"   (因为tools与backup.tar.gz并列放在T:中,回退3级才能看到T盘根)
保持mem=128,方便稍后的复制解压,也不能开得过大,因为1G的内存开了用得差不多了

现在portable_colinux.bat打开,提示enter激活busybox时,mount 2个盘到noimage colinux:

mount /dev/cobd0 /mnt/temp (10g盘)
mount -t cofs 0 /mnt/win (注意cofs与0中间有个空格)

(以上2个mnt点是colinux自带的)

3)然后,就是利用busybox中的工具:

cp mnt/win/backup.tar.gz mnt/temp/backup.tar.gz
chdir mnt/temp
tar -xvpzf backup.tar.gz -C / --numeric-owner 解压

用bootice安装新的mbr grub2.0到硬盘,从网上下载grub的boot文件包替换现有的boot文件夹(除了保留boot下原有的10个内核文件)。

4),最后重启,进入分区调整后的linux。

如果看到新的grub2启动界面,就说明基本要完成了

set root=(hd0,msdos1)
linux /boot/vmlinuz-4.4.0-85-generic ro root=/dev/vda1 (注意阿里云是vda)
initrd /initrd.img
boot

进入新的系统,成功!!

打造linux和windows二合一的winpe装机维护方案

一些失败的尝试:

我曾尝试7zip直接解压或gnu windows tar解压到ext2sd形成的分区中,但都会蓝屏,这就是为什么我开头就说windows下处理linux分区是非原生的。大部分时间它只是辅助用一下。据说比ext2sd,ext2ifs更好的是Paragon_ExtFS之类,但是上传后无法运行,也无心去试了。不过(要是virtiope日后直接集成了ext2sd就不用这步了)这倒是另外一个极好的尝试方向.

我也曾试过diskgen是4.9.3的(4.9.3的开始支持对ext2/3的分区,它虽然比较大,但是它综合了bootice,234extreader的全部,且鼠标操作好。),跟上面一样它们甚至在xp winpe上无法运行。只有这个winpm 7 服务器版本for winpe很好支持手标操作。

我曾试过mount -t tmpfs -o size=590m tmpfs /mnt/tmp,内部fdisk,直接DD,等等,都不够直观或根本行不通。

关于如何利用virtiope+colinux实现linux系统盘动态无损多分区问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI