当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 将 Ubuntu 16.04 安装到 loop 设备中!(类似于将win7装到vhd中)
帖子发表于 : 2016-08-09 12:49 

注册: 2011-01-02 12:31
帖子: 171
送出感谢: 17
接收感谢: 5
将 Ubuntu 安装到 loop 中其实就是 wubi 的做法!

不过由于新版本取消了 wubi 工具,所以一切都得手工搞了!

由于 wubi 依赖 Windows ,只适合安装在 NTFS 分区中。如果手工搞的话没有应该此限制。

用到的软件:grub2win 和 ubuntu 16.04 desktop

实现方法:

使用 ubuntu desktop 光盘引导进入桌面

安装 ubuntu 到某个临时分区(我是用usb3.0优盘做临时分区),注意不要安装引导到硬盘上,以免破坏现有引导。安装完毕后不要重启,继续在光盘启动的 live 中工作。

然后在硬盘上创建一个 loop 设备文件,格式化成 ext4 ,然后挂载,将刚刚安装到临时分区的 ubuntu 所有文件拷贝到 loop 中(注意保持权限、所有者、链接等状态)。

在 loop 中建一个叫 host 的空文件夹

修改 loop 中 /etc/fstab ,将 / 的 UUID 改成当前 loop 的 UUID 。(用 blkid 查询 UUID)

完毕后,用 grub2win 引导系统(也可以是其他引导器)

在 GRUB2 中使用 loopback 装载 loop ,引导 loop 里面的 vmlinuz 和 initrd.img 。

注意 kernel 参数:root= 要设置成 loop 文件所在的硬盘分区, loop= 参数要指向 loop 文件所在分区路径。




---------------------------------------

有点遗憾的事情!

我在 Live 中使用 losetup 创建一个 loop ,然后在运行 ubuntu 的安装程序,此时安装目标无法选择 loop 设备,要不也不用这么麻烦了!

不知道有没有办法破!!!???


附件:
2016-08-09 18-19-53屏幕截图.png
2016-08-09 18-19-53屏幕截图.png [ 359.13 KiB | 被浏览 877 次 ]

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 将 Ubuntu 16.04 安装到 loop 设备中!(类似于将win7装到vhd中)
帖子发表于 : 2016-08-09 13:05 
头像

注册: 2006-02-10 16:36
帖子: 2810
系统: Xubuntu14.04/Deepin
送出感谢: 15
接收感谢: 28
楼主的思路很有意思,能不能写详细点?
怎样建立一个loop设备?怎样复制分区到loop设备?
host文件夹啥用处?fstab具体配置?grub2配置文件?等等……

有时候试用新系统要虚拟机,可虚拟机性能不行。我觉得这也是个办法。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 将 Ubuntu 16.04 安装到 loop 设备中!(类似于将win7装到vhd中)
帖子发表于 : 2016-08-09 13:22 

注册: 2011-01-02 12:31
帖子: 171
送出感谢: 17
接收感谢: 5
偷懒一点 ,loop 设备文件可以用dd搞!

用 dd if=/dev/sdx1 of=u16.disk bs=1M 这样拷贝也行,不过结束后最好把源分区删掉,因为两个 UUID 相同了!

系统会将 loop 设备文件所在硬盘的物理分区挂载到 /host 中,所以新建一个 host 是留一个挂载点而已!

图中是我的 grub2 和 loop 中 fstab 的配置。里面的 fstab 我没有使用 UUID 了,而是直接从 /host 挂载 loop 设备文件。


附件:
2.png
2.png [ 236.31 KiB | 被浏览 839 次 ]

2016-08-09 13-18-51屏幕截图.png
2016-08-09 13-18-51屏幕截图.png [ 51.51 KiB | 被浏览 839 次 ]

页首
 用户资料  
 
4 楼 
 文章标题 : Re: 将 Ubuntu 16.04 安装到 loop 设备中!(类似于将win7装到vhd中)
帖子发表于 : 2016-08-09 15:12 
头像

注册: 2012-11-14 9:34
帖子: 566
系统: Fedora26/UMate16043
送出感谢: 1
接收感谢: 38
zhangjint5 写道:
将 Ubuntu 安装到 loop 中其实就是 wubi 的做法!

不过由于新版本取消了 wubi 工具,所以一切都得手工搞了!

由于 wubi 依赖 Windows ,只适合安装在 NTFS 分区中。如果手工搞的话没有应该此限制。

用到的软件:grub2win 和 ubuntu 16.04 desktop

实现方法:

使用 ubuntu desktop 光盘引导进入桌面

安装 ubuntu 到某个临时分区(我是用usb3.0优盘做临时分区),注意不要安装引导到硬盘上,以免破坏现有引导。安装完毕后不要重启,继续在光盘启动的 live 中工作。

然后在硬盘上创建一个 loop 设备文件,格式化成 ext4 ,然后挂载,将刚刚安装到临时分区的 ubuntu 所有文件拷贝到 loop 中(注意保持权限、所有者、链接等状态)。

在 loop 中建一个叫 host 的空文件夹

修改 loop 中 /etc/fstab ,将 / 的 UUID 改成当前 loop 的 UUID 。(用 blkid 查询 UUID)

完毕后,用 grub2win 引导系统(也可以是其他引导器)

在 GRUB2 中使用 loopback 装载 loop ,引导 loop 里面的 vmlinuz 和 initrd.img 。

注意 kernel 参数:root= 要设置成 loop 文件所在的硬盘分区, loop= 参数要指向 loop 文件所在分区路径。




---------------------------------------

有点遗憾的事情!

我在 Live 中使用 losetup 创建一个 loop ,然后在运行 ubuntu 的安装程序,此时安装目标无法选择 loop 设备,要不也不用这么麻烦了!

不知道有没有办法破!!!???



如果必须把安装 ubuntu 先安装到某个临时分区(尤其是usb3.0优盘做临时分区),除了双重 I/O penality 外,我实在看不出来用loopback 开机有什么优点??? 一般我们利用到loopback的时候,是在从Grub 到 iso 开机 (原版或customized的iso)。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 将 Ubuntu 16.04 安装到 loop 设备中!(类似于将win7装到vhd中)
帖子发表于 : 2016-08-12 13:52 
头像

注册: 2006-02-10 16:36
帖子: 2810
系统: Xubuntu14.04/Deepin
送出感谢: 15
接收感谢: 28
按照楼主的思路,实践了一把。但是目的不一样,我是想代替虚拟机来安装不同版本的ubuntu。

一、使用dd命令,创建一个磁盘影像文件。用losetup分配到一个loop设备节点上,然后格式化,创建文件系统。
二、使用VirtualBox的使用物理磁盘功能,把这个loop设备作为一个虚拟磁盘,挂载到虚拟机上。
三、然后使用ubuntu安装光盘,启动虚拟机,进行安装。
四、按照楼主的办法,重新编辑grub.cfg文件。就可以启动进入系统了。进入系统之后,卸载grub组件包,可以直接 sudo apt remove grub-common

中间试了一下。将磁盘映像文件挂载到Loop节点后,系统的磁盘工具可以找到这个磁盘,但是gparted找不到。直接使用命令parted loop0也可以访问这个磁盘,包括使用fdisk都可以访问这个磁盘。
我没有试live cd模式挂载到loop节点后,安装程序能否找到磁盘。楼主测试是不能的。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Exabot [Bot] 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译