分享挂载多分区镜像的方法
chromeos吧
全部回复
仅看楼主
level 6
查资料的时候无意中看到多分区img的使用方法,与大家分享一下。
1.以chromium os为例,其img中有12个分区,直接mount是不行的,首先要把img绑定在loop设备上(执行前先用ls /dev/loop* 和 losetup -a 查看有哪些loop设备和已经使用了哪些设备)。
losetup /dev/loop0 chromiumos.img
2.要把img镜像的分区映射出来,这里需要使用kpartx,如果发行版未自带的话需要安装。
yum -y install kpartx
kpartx -av /dev/loop0
3.挂载映射出的分区
mount /dev/mapper/loop0p1 /mnt/chomiumos/partion1
为了省事可以用一个for循环自动挂载,实践证明只有1,3,8,12可以挂载
/dev/mapper/loop0p1 1.2G 255M 911M 22% /chromuimos/partition1
/dev/mapper/loop0p3 1.2G 900M 305M 75% /chromuimos/partition3
/dev/mapper/loop0p8 12M 24K 12M 1% /chromuimos/partition8
/dev/mapper/loop0p12 16M 11M 5.5M 66% /chromuimos/partition12
chromeos官方镜像同理。
2015年12月08日 02点12分 1
level 1
是说不用写入,直接挂载这样吗?自己得再复习下mount这个命令才行。
2015年12月08日 10点12分 2
不用dd,装好chromium os后,直接替换根分区的文件就行。
2015年12月08日 13点12分
@黑暗三次方 这个问题,自己对linux也是新手,mount的问题是,第一,自己看了下4suh?的脚本没明白那个bin脚本是怎样被挂载或者打开的,其次,翻了下mount的用法也没翻出个所以然[汗]所以目前除了会用脚本,其他什么都没折腾出来[汗][汗][汗]唉……
2015年12月08日 13点12分
@542950696 我之前有一篇帖子说怎么安装的,你可以看下有解释,简单说就是可以指定偏移位置和块数,把对应的分区挂上去,efi分区就是挂载后复制内核的,而根分区是直接用dd的办法还原,不过容易出错,我最后也是用挂载后复制的办法搞定的。这次的办法更好,因为不用计算偏移量了。
2015年12月10日 01点12分
@黑暗三次方 我看看[吐舌]
2015年12月10日 01点12分
level 1
终于见到大神了,想问个问题,自己用gpart在chromiumos里扩大state分区没有任何问题。所以自己想尝试在自己的chromebook稍微缩小下state分区,空出一个位置安装linux,然后尝试用chromebook自带的seabios引导,但发现在chromeos,缩小state分区必定会导致系统损坏,对这点,大神有什么想法吗?如果真的能不影响系统文件的话该怎样shrink呢?(自己的50gSTATE分区…))
2015年12月08日 10点12分 3
还是可以把其他电脑上的linux备份成.img然后用这样的方法在chromeos里挂载呢?
2015年12月08日 10点12分
直接挂载只能chroot过去吧,那我估计你还得修改rc.sysinit脚本,让他在chroot前运行设置各种变量和函数,linux我也是新手,chromebook都是用原生的系统。你能跟我讲解下chromeos的启动过程吗?看起来是用systemd,但是我没找到.unit、.target这些。
2015年12月08日 13点12分
@黑暗三次方 现在自己对它启动的方式的了解也只停留在efi的程度[汗]假期还得再研究下……(用户名为q号求勾搭……)(idoz大神没勾搭上[泪])(很想找了解的人一起探讨一下chrome/chromium os)
2015年12月08日 13点12分
@542950696 现在手头机器正常用,不想进开发者,等新买的机器到了再研究。
2015年12月08日 15点12分
1