无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 2011niumao
打印 上一主题 下一主题

[发布] SQUASHFS系统UBUNTU20.04与18.04,VHD系统UBUNTU16.04(64位)

    [复制链接]
121#
 楼主| 发表于 2013-6-11 13:38:36 | 显示全部楼层
bfgxp 发表于 2013-6-11 07:00
这样说的话,那楼主的initrd.img和vmlinuz可以通用启动所有linux系统了

其实还有另外一个惊喜的。
这个引导机制基于两个命令 losetup kpartx
所以凡是可以使用这两个命令正确挂载在ubuntu系统上的虚拟文件系统,大概都可以引导的。
不过只是原理上如此,没有测试过。
猜测 什么vdi img 格式的ubuntu都可以。
回复

使用道具 举报

122#
 楼主| 发表于 2013-6-11 14:45:11 | 显示全部楼层

RE:

本帖最后由 2011niumao 于 2013-6-11 14:57 编辑
楼主的系统很好用,只是小弟有个问题请教。
吾辈在看优酷等视频网站的视频,看久了有时后视频会卡顿。等一会儿,又不会了。
有时用播放器看1080P的高清视频时,看久了有时也会卡顿。
因为吾辈的是笔记本电脑,也有用散热架散热,嘛,因为是夏天嘛。
首先换了chromium浏览器等浏览器,发现现象好了一点,但还是没有改善。
之后想来想去,可能是开源的显卡驱动的加速功能不行吧,于是就去安装了闭源显卡驱动。
吾辈的显卡是A卡,参考了ubuntu论坛的置顶贴。链接如下:
http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=350772
安装了闭源显卡驱动,想来应该能解决看视频卡
没想到居然之后进入不了图形界面,然后又参考了这里的帖子
http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=373058
嘛,居然也进入不了图形界面?最近在纠结这个问题,唉!

理论上这是否是因为这是VHD系统的原因,还是吾辈安装显卡的方式不对,吾辈是菜鸟,实在不懂。

请教一下楼主,看能否提供个方案或提示,解决吾辈的问题,小弟先谢谢了。

VHD系统不能进入图形节面==可以启动到救援模式==点击root==进入命令行。
执行以下命令卸载闭源驱动,重新启用开元驱动。
  1. sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
  2. sudo dpkg-reconfigure xserver-xorg-lts-quantal
  3. reboot
复制代码
显卡驱动一直是大问题。如果想安装闭源驱动,建议首先使用家目录所带的UCloner软件转化为硬盘系统,这样性能好一些。
转化方法参考他的使用说明。
或者先准备好一个空白分区例如E盘。其上数据备份好。
双击 UCloner_CN文件,按照提示选择克隆模式。选择空闲分区E盘挂载 /,选择文件格式为ext4,即会先格式化该分区。
该分区的数据应该事先备份好。其余都保留空白不选。
转化约半小时时间。
最后设置引导===如果你使用第六版所带那就不用设置了==重启后选择硬盘UBUNTU系统就可以。

至于看视频性能不好,目前没有好的解决方法。建议看普通格式的,高清的就较慢。

点评

也许我太菜了,这句话实在不知怎么弄? 因为我是用Grub4dos引导楼主的VHD的,所以当我按住ESC好像无法调出启动菜单。 索性装了个virtualbox,将楼主的vhd导入virtualbox中,启动菜单是能出现,但是无  详情 回复 发表于 2013-6-11 19:53
回复

使用道具 举报

123#
 楼主| 发表于 2013-6-11 22:46:00 | 显示全部楼层
2012studyvhd 发表于 2013-6-11 19:53
也许我太菜了,这句话实在不知怎么弄? 希望楼主详解。

因为我是用Grub4dos引导楼主的 ...

o .如果没有什么有价值的资料。那就重新解压覆盖掉原来的vhd系统。一切都回到了起点。
这也是vhd系统的好处之一吧。呵呵。
如果想坚持,把grubpc目录与g2ldr g2ldr.mbr 放在系统盘。在menu.lst上选择g2ldr就可以进入recovery模式。

加入参数类似于下
vloop=/vbuntufix/vbuntufix.vhd vlooppart=p1  ro recovery nomodeset

另外 你应该尽可能提供一些详细信息。这样才好判断。

点评

最终还是太菜了,我还是直接解压覆盖掉原来的VHD系统了,呵呵,毕竟重要的资料一般是平常存的书签什么的。 chromium浏览器的同步功能应该没啥问题的。 安装显卡驱动的方法,我最终居然用 “系统设置>>附加驱动>>  详情 回复 发表于 2013-6-13 13:41
回复

使用道具 举报

124#
 楼主| 发表于 2013-6-11 22:54:09 | 显示全部楼层
还有两个命令需要执行。
  1. sudo rm /hmome/niumao/.Xauthority
  2. sudo rm /etc/X11/xorg.conf
复制代码
接下来再
  1. sudo dpkg-reconfigure xserver-xorg-lts-quantal
  2. sudo reboot
复制代码
有可能成功。
回复

使用道具 举报

125#
 楼主| 发表于 2013-6-13 15:43:38 | 显示全部楼层
2012studyvhd 发表于 2013-6-13 13:51
这是我的显卡安装方法。请楼主看一下具体是哪出错了。
用楼主的系统打开终端执行如下命令,楼主提供的是64 ...

我参考的帖子如下,在物理系统上安装成功。
你的那个帖子我看了看,感觉不太可靠。
http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=400190

点评

按照楼主给出的方法,在VHD系统安装ATI显卡成功,如同物理机的安装方法一样。 方法直接是把VHD系统当做物理机的系统安装,可能之前出现错误是下的ATI显卡驱动不对,或是 打包成deb包的方法不对吧,呵呵,  详情 回复 发表于 2013-6-14 12:48
回复

使用道具 举报

126#
 楼主| 发表于 2013-6-13 15:46:23 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-13 15:47 编辑
2012studyvhd 发表于 2013-6-13 13:51
这是我的显卡安装方法。请楼主看一下具体是哪出错了。
用楼主的系统打开终端执行如下命令,楼主提供的是64 ...


直接转帖过来吧:其中驱动到官网下载。

装之前,先把一些依赖包安装好


代码:
  1. sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4 debhelper debconf libstdc++6 dkms libqtgui4 libelfg0 linux-headers-generic
复制代码
64的话,要把下面的依赖包也安装了哦


代码:
  1. sudo apt-get install ia32-libs-multiarch:i386 lib32gcc1 libc6-i386
  2. sudo apt-get install ia32-libs
复制代码
额额,,好吧,这些依赖包,还是参照这两篇帖子来的,至少我,安装显卡驱动前,都把两篇帖子里的依赖包都装了一遍

第一篇帖子: viewtopic.php?f=42&t=350772置顶的那个……
另一篇帖子,,貌似沉了好久,木见到踪影了,题目是:(ATI显卡菜鸟x86闭源帖---A鸟都去学雷锋)总结Ubuntu11.04~12.04的ATI驱动安装(精简很多),,有兴趣的可以自己找找看看,

把驱动文件下好后,得到文件,可以将其解压到单独的文件夹, amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run

我安装的时候,在用户根目录单独给他建了一个文件夹, ati 文件夹,并把 amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run 复制到了 /home/sakura/ati 文件夹里。

进入到 ati 文件夹,执行命令用以添加权限:

代码:
  1. sudo chmod +x amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run
复制代码
下面将上边下载好的驱动生成和安装.Deb格式的软件包:

生成:
  1. sudo sh ./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run --buildpkg Ubuntu/precise
复制代码
关于红字部分,Ubutu说明的是Ubuntu 系统,precise 是系统版本的名称,这个是12.04的系统名称

Raring 13.04
Quantal 12.10
Precise 12.04
Oneiric 11.10
Natty 11.04
Maverick 10.10

安装的时候,按照系统版本修改后面的版本名称,12.10的就用 Ubuntu/Quantal ,13.04 的用 Ubuntu/Raring ,不过本人因为还没使用13.04,不确保13.04的能正常安装。

额额,提示提示,后面的版本号,必须是小写的说,不然大写的会说无法识别系统版本号

题外话:本人用的是 Ubuntu/Quantal ,也就是12.10

生成好包以后,开始安装


代码:
  1. sudo dpkg -i fglrx*.deb
复制代码
安装好以后,可以直接重启,如果担心的话,可以生成一次配置文件:


代码:
  1. sudo aticonfig --initial -f
复制代码
回复

使用道具 举报

127#
 楼主| 发表于 2013-6-15 15:09:11 | 显示全部楼层

grub通用启动器

本帖最后由 2011niumao 于 2013-6-15 15:10 编辑

grub通用启动器

发一个grub通用启动器。一个是普通7z压缩格式。一个是VHD文件7z压缩的。
内容:就是把vbuntufix.vhd所附带的引导文件拿出来,加入了grub4dos 的引导文件,以及
从本论坛搜集的一个WIN7PE WIN8PE;smine的自动引导ISO文件的菜单。

自动引导WIn7,8 ,XP ,vbuntufix.vhd UBUNTU,win7pe,win8pe等。
不用自己编写菜单。很适合初学者使用。

http://pan.baidu.com/share/link? ... 14&uk=439719680
回复

使用道具 举报

128#
 楼主| 发表于 2013-6-16 22:08:46 | 显示全部楼层
2012studyvhd 发表于 2013-6-16 21:15
楼主,你的系统又被我玩坏了,可见我的破坏性有多大 ,数数这是第N次覆盖VHD文件了。。。。
实在 ...

呵呵,I 服了 u.
其实我也是理论不懂,一直摸石头过河来着。折腾的次数怕是只多不少。
生命不息 折腾不止么。
看看哪个软件不对头,就删了他不安装,不要让他碍事情。还有就是可以使用新立得,
让他管理软件比较好,不需要每次使用命令行。新立德里面有 修复依赖关系受损的软件??
经常修复看看。最后,换一下软件源,尽量使用官方源。

点评

昨天晚上做了一下排查,可能之前在安装桌面环境的时候,错误了执行了一个软件卸载命令,然后依赖关系出现问题,然后大量软件被卸载了。。。。。。。 之前我也添加了几个PPA进去,导致现apt-get update 总是出现错  详情 回复 发表于 2013-6-17 15:53
回复

使用道具 举报

129#
 楼主| 发表于 2013-6-16 22:51:59 | 显示全部楼层

/

本帖最后由 2011niumao 于 2013-6-16 22:55 编辑
2012studyvhd 发表于 2013-6-16 21:15
楼主,你的系统又被我玩坏了,可见我的破坏性有多大 ,数数这是第N次覆盖VHD文件了。。。。
实在 ...


制作这个系统时候我使用过几个ppa===私人软件源吧。==查看/etc/apt/sources.list可以看出来。
有些软件比官方源的新。会对进一步定制有干扰吧?也是猜测。

所以可以考虑使用virtualbox从头安装一个12042 64位。注意固定大小vhd.

按照自己喜欢定制好后。依照198楼或者224楼的做法制作一个可以引导vhd的initrd.img 就可。

或者直接使用这个vhd所带的也许也行。

点评

问题终于解决了。 我先执行 sudo rm /etc/apt/sources.list.d/* 然后 sudo apt-get update 再重新编辑一下软件源。 现在用着新的桌面环境无压力了。==  详情 回复 发表于 2013-6-23 18:54
等到折腾累了不想再折腾的时候,只能考虑按照楼主提供的方法重新定制一个VHD了 现在先折腾看看  详情 回复 发表于 2013-6-17 15:58
回复

使用道具 举报

130#
 楼主| 发表于 2013-6-20 21:58:28 | 显示全部楼层

GRUB4DOS的菜单新写法???

本帖最后由 2011niumao 于 2013-6-20 22:01 编辑

GRUB4DOS引导vbuntufix.vhd的菜单一种新法
=======不需要外部的vmlinuz initrd.img的文件,直接用vhd内部的两个文件引导。
  1. title VBUNTUFIX===MAP  uuid-auto-probe
  2. find --set-root --ignore-floppies --ignore-cd /vbuntufix/vbuntufix.vhd
  3. map /vbuntufix/vbuntufix.vhd (hd)
  4. map --hook
  5. find --set-root --ignore-floppies --ignore-cd /vbuntufix/vbuntufix.vhd
  6. uuid ()
  7. kernel (hd-1,0)/vmlinuz root=UUID=%?% vloop=/vbuntufix/vbuntufix.vhd vlooppart=p1
  8. initrd (hd-1,0)/initrd.img
复制代码
我这里测试成功。====查阅资料,感觉 固定大小的vhd 是可以引导的关键。

点评

ee1
这个办法好! title UBUNTU MAP find --set-root --ignore-floppies --ignore-cd /kan/u.vhd map /kan/u.vhd (hd) map --hook find --set-root --ignore-floppies --ignore-cd /kan/u.vhd uuid () ker  详情 回复 发表于 2015-11-17 09:16
对于VHD 超过 10 多G的 VHD文件来说 ,会提示 碎片连续性不完整 !  详情 回复 发表于 2013-12-7 17:02
回复

使用道具 举报

131#
 楼主| 发表于 2013-6-20 22:05:56 | 显示全部楼层

GRUB2 引导vbuntufix.vhd的菜单一种新法

GRUB2 引导vbuntufix.vhd的菜单一种新法
=======不需要外部的vmlinuz initrd.img的文件,直接用vhd内部的两个文件引导。
  1. menuentry 'UBTVHDFIX LINUX LOOPBACK' --class ubuntu --class gnu-linux --class gnu --class os {
  2.         recordfail
  3.         insmod gzio
  4.         insmod part_msdos
  5.         insmod ext2
  6.         insmod ntfs
  7.         insmod probe
  8.         insmod search
  9.         search --no-floppy -f --set=root /vbuntufix/vbuntufix.vhd
  10.         loopback lo0 /vbuntufix/vbuntufix.vhd
  11.         search --no-floppy -f --set=aabbcc /vbuntufix/vbuntufix.vhd
  12.         set root=${aabbcc}
  13.         probe -u --set=ddeeff ${aabbcc}
  14.         linux         (lo0,1)/vmlinuz root=UUID=${ddeeff} vloop=/vbuntufix/vbuntufix.vhd vlooppart=p1
  15.         initrd         (lo0,1)/initrd.img
  16. }
复制代码
固定大小的vhd 才可以。
但是对于win系统,测试了固定大小也不行。

点评

这个是把vhd放在了ntfs上,如果放在Ubuntu中,,应该怎么引导呢。  详情 回复 发表于 2014-8-23 10:54
晕,原来楼主在248楼已经用g4d实现了,开始只看了249楼  发表于 2013-6-21 12:14
这样的话,也许g4d 的map也可以,一会儿下午试试看  详情 回复 发表于 2013-6-21 12:10
回复

使用道具 举报

132#
 楼主| 发表于 2013-6-21 14:11:03 | 显示全部楼层
bfgxp中将好。
从我的测试看,仅仅需要固定大小。===可能固定大小的vhd一定是连续存放的???
有资料说固定大小的vhd就是raw格式再多加一个扇区。

另外我测试了固定大小的win7fix.vhd===虽然没有成功启动==但已经启动到了vhd里面的BCD界面==
此后就是很慢然后直接重启====可能是启动没有设置对或者没有针对这个类型设置对==。
但能启动到vhd里面的BCD,也算是半个成功吧
回复

使用道具 举报

133#
 楼主| 发表于 2013-6-23 21:09:52 | 显示全部楼层
2012studyvhd 发表于 2013-6-23 18:54
问题终于解决了。
我先执行 sudo rm /etc/apt/sources.list.d/*
然后 sudo apt-get update

祝贺!呵呵。
回复

使用道具 举报

134#
 楼主| 发表于 2013-6-23 21:12:52 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-23 21:17 编辑
2012studyvhd 发表于 2013-6-23 19:23
刚解决完一个问题,下午又手贱点了一下 更新管理器的 更新,
之后就黑屏了。==!
不知楼主的VHD系统在 更 ...


更新只更新长期版本===就是不升级到1210,1304.保持12042.
我的vhd更新没有问题,此外执行的是

  1. sudo rm /home/niumao/.Xau*
  2. sudo rm /etc/X11/xorg.conf
  3. sudo dpkg-reconfigure xserver-xorg-lts-quantal
复制代码
o 还是显卡问题。
闭源驱动每次升级内核需要卸载一下显卡驱动,重新安装一遍。
如果是开源驱动就不用了。

我这里使用开源,所以没有问题。

点评

这次楼主的代码貌似不起作用。 我进入recovery mode模式后,选择root,进入terminal,然后执行楼主给出的代码。 依旧无法进入图形界面。 然后 切换到正常模式,依旧无法进入图形界面 接着, 又再次进入recover  详情 回复 发表于 2013-6-24 11:11
回复

使用道具 举报

135#
 楼主| 发表于 2013-6-24 12:37:09 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-24 13:02 编辑
2012studyvhd 发表于 2013-6-24 11:11
这次楼主的代码貌似不起作用。
我是这样做的:
进入recovery mode模式后,选择root,进入terminal,然 ...
  1. title VBUNTU 12.04.2 64-bit Linux 3.2.0-23-generic(recovery mode)
  2. find --set-root /vbuntu.vhd
  3. kernel /vmlinuz-3.2.0-23-generic root=UUID=0006B3430006CC59 vloop=/vbuntu.vhd vlooppart=p1 ro recovery nomodeset
  4. initrd /initrd.img-3.2.0-23-generic

  5. title VBUNTU 12.04.2 64-bit Linux 3.2.0-23-generic
  6. find --set-root /vbuntu.vhd
  7. kernel /vmlinuz-3.2.0-23-generic root=UUID=0006B3430006CC59 vloop=/vbuntu.vhd vlooppart=p1 quiet splash
  8. initrd /initrd.img-3.2.0-23-generic
复制代码


哦。菜单本身没有问题。这个是老版本==第五版以前的引导方式。内核版本是固定3.2.0-23.
而且是两个内核镜像===两个initrd.img文件,虚拟机virtualbox使用的内核新,
直接引导时候只能使用3.2.0-23。这是由vloop3决定的。
第六版开始不使用vloop3。使用的是我发现的基于kpartx命令的引导机制。
所以直接使用了最新版内核,当时是 3.5.0-33.===initrd.img====virtualbox启动和直接启动都是使用它。
建议你下载第六版看看。===因为新版内核可以适合更多的硬件吧???我猜的
第六版地址看看顶楼。部署后文件是 /vbuntufix/vbuntufix.vhd。
也可以下载我做的配套的 grub通用启动器合盘,里面也有grub4dos的。

点评

看了楼主新版的基于kpartx命令的引导机制的说明, 那么楼主新版的initrd.img和vmlinuz可以通用启动ubuntu所有版本的系统吗? 包括1304.1210.和1204?  详情 回复 发表于 2013-6-24 17:54
回复

使用道具 举报

136#
 楼主| 发表于 2013-6-24 18:44:27 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-25 11:18 编辑

2012studyvhd 发表于 2013-6-24 17:54
看了楼主新版的基于kpartx命令的引导机制的说明,
那么楼主新版的initrd.img和vmlinuz可以通用启动ubunt ...[/quote]

这个initrd.img vmlinuz只适合于这个版本的吧---3.5.0-33.
但这个引导机制原理上应该适合与所有的ubuntu。乃至于所有的linux 发行版。
不仅适合于vhd格式,也适合于img格式,vdi格式===但都需要固定大小的===或者本质上是raw格式的。
只是没有时间去广泛测试而已。有兴趣的可以自己尝试制作。

前面的一些帖子提到过制作方法===

1,virtualbox安装vhd ubuntu系统。
2,安装kpart-boot软件===当前initrd.img中会有losetup kpartx两个文件。
3.自己制作一个可引导vhd的initrd.img:
解开当前的initrd.img===将其中的/scripts/local文件替换为vbuntufix内local文件===就是附件这个文件。===再打包为initrd.img即可。

initrd.img解包打包可以百度。

原理上没有问题。但是是否还需要更改其他脚本例如 init 脚本 ===应该是使用vloop版本的init替换掉initrd.img根目录下同名文件===但需要详细测试了。


附件就是我修改过的基于vloop的local文件,可以直接阅读修改。

local.zip (1.82 KB, 下载次数: 12)
init.zip (2.73 KB, 下载次数: 11)

点评

最近手动制作了initrd.img,按照楼主简单描述发现制作的initrd.img不能引导。可能是哪个细节没注意到吧 具体有几个关于引导initrd.img的细节想请教一下楼主 1 解包打包制作完的initrd.img需要将其复制其VHD系统的  详情 回复 发表于 2013-6-27 23:16
回复

使用道具 举报

137#
 楼主| 发表于 2013-6-24 18:49:49 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-24 19:10 编辑
2012studyvhd 发表于 2013-6-24 17:48
先来反馈个情况: 终于把闭源驱动卸载干净了,但是出现个情况
进入时出现 No suitable module for run ...


可以在virtualbox内启动么?如果能,则可以在虚拟机内做好修改。
===估计是需要安装虚拟机增强工具什么的。

我i百度了一下。估计是缺少一个内核模块的缘故。
可以执行==虚拟机内==
  1. sudo /etc/init.d/vboxdrv setup
复制代码
或者救援模式下尝试一下。

点评

救援模式执行代码,不存在此命令。 虚拟机下,貌似启动不了。好吧,我放弃了。==  详情 回复 发表于 2013-6-27 23:22
回复

使用道具 举报

138#
 楼主| 发表于 2013-6-24 23:10:35 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-24 23:22 编辑
William叔叔 发表于 2013-6-24 22:40
opensuse-linux能直接引导vhd-vbuntu吗?我的windows崩溃了,现在就剩下openSUSE了,不知道有木有办法。


这个和操作系统关系不大,主要是bootloader吧?
例如grub2 grub4dos。
opensuse 也是grub2 吧?想办法找到菜单配置文件,写好菜单 就可以了。
推荐下载第六版 vbuntufix.vhd  与配套的 grub通用启动器 。

点评

将vhdi添加到grub2的菜单项里面,显示错误的命令recordfail,于是将这行删除了,启动,但是好像每次都是到了最后停住了,还是进不去。  详情 回复 发表于 2013-6-25 11:19
回复

使用道具 举报

139#
 楼主| 发表于 2013-6-25 11:24:07 | 显示全部楼层
William叔叔 发表于 2013-6-25 11:19
将vhdi添加到grub2的菜单项里面,显示错误的命令recordfail,于是将这行删除了,启动,但是好像每次都是到 ...

那可能还是vdh文件的路径不正确。系统挂载不上根目录。
请检查一下menuentry里面的路径文件名是否正确无误。

此外建议使用第六版。更简单 性能更好。

点评

initrd.img 里的脚本是什么语法啊 看不懂啊,想看明白都什么意思  详情 回复 发表于 2013-6-25 11:29
回复

使用道具 举报

140#
 楼主| 发表于 2013-6-25 12:00:20 | 显示全部楼层
William叔叔 发表于 2013-6-25 11:21
我是将vhdfix放到了/home区里面的

这点有问题。依照原理应该可以放在ext分区的。
但是vloop脚本里似乎有限制。还是使用ntfs格式才能使用。最好放在ntfs分区里面。即使没有win系统也没有关系的。因为引导是grub2不依赖于win系统。
回复

使用道具 举报

141#
 楼主| 发表于 2013-6-25 12:01:27 | 显示全部楼层
William叔叔 发表于 2013-6-25 11:28
本地菜单是这样的
menuentry 'openSUSE 12.3' --class 'opensuse-12-3' --class gnu-linux --class gnu -- ...

这个是opensusu的菜单啊。应该把vbuntu的菜单项贴出来。
回复

使用道具 举报

142#
 楼主| 发表于 2013-6-25 12:02:55 | 显示全部楼层
2011aaa 发表于 2013-6-25 11:29
initrd.img 里的脚本是什么语法啊 看不懂啊,想看明白都什么意思


估计是C语言。或者是shell脚本。但语法不算难吧?我的C语言约等于0的,也看懂了啊。。
回复

使用道具 举报

143#
 楼主| 发表于 2013-6-25 12:45:49 | 显示全部楼层
William叔叔 发表于 2013-6-25 12:21
我是直接将vbuntufix的grub菜单拷贝到suse的cfg的,就换掉了前两行
        load_video
        set gfxpayload= ...

o 。这个还真不知道什么原因。应该不是非ntfs的问题。可能与虚拟机模块有关。
目前也没有好方法。就算改成了ntfs恐怕也不行的。
建议===下载使用第六版吧。呵呵===可以放在移动硬盘上===这次
是真的无损制作了====看看第六版的使用说明即可。
回复

使用道具 举报

144#
 楼主| 发表于 2013-6-26 17:11:50 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-26 17:14 编辑

发现一处错误。请自己更正一下。
需要编辑/usr/sbin/mkinitramfs 这个脚本
  1. sudo gedit /usr/sbin/mkinitramfs
复制代码
在靠后面的几行中有一行是copy_exec /sbin/vlosetup /sbin  。请删除那个v把 vlosetup改为losetup就可以了。
改正后那几行为:
  1. # module-init-tools
  2. copy_exec /sbin/modprobe /sbin
  3. copy_exec /sbin/rmmod /sbin
  4. copy_exec /sbin/losetup /sbin
  5. mkdir -p "${DESTDIR}/etc/modprobe.d"
  6. cp -a /etc/modprobe.d/* "${DESTDIR}/etc/modprobe.d/"
复制代码
如果是从全新安装的ubuntu出发想制作vhd系统,也需要这个更改===但是是加上那个带有losetup的一行进去。
回复

使用道具 举报

145#
 楼主| 发表于 2013-6-26 20:16:13 | 显示全部楼层
William叔叔 发表于 2013-6-26 19:38
估计suse不能启动就是ntfs磁盘格式的问题了,昨天安装好了windows,今天将vbuntufix的cfg菜单启动项拷贝到s ...

o 祝贺啊。看来只能是ntfs系统了。
有可能是因为vhd是微软自己设计的类型,只能在ntfs 或者fat上使用。
人为加了限制了。
回复

使用道具 举报

146#
 楼主| 发表于 2013-6-27 13:31:17 | 显示全部楼层
本帖最后由 2011niumao 于 2013-6-27 13:32 编辑
paulhybryant 发表于 2013-6-27 13:04
个人觉得不应该是磁盘格式的问题。请问提示的错误是什么?我在ubuntu下,把磁盘镜像放在ext的分区下,是可以 ...


很好的消息。他的提示说 i/o buffer error ???
不知道什么原因。此外我在local文件里面看到了对文件格式的检查代码,不知道它有什么用。
hehe。local文件263楼附件。或者 /usr/share/initramfs-tools/scripts/local。

点评

local里的代码检查的应该不是文件格式,而是文件系统类型(FSTYPE)。根据不同的文件系统类型给mount 传递不同的参数。  发表于 2013-6-27 23:28
回复

使用道具 举报

147#
 楼主| 发表于 2013-6-27 16:02:31 | 显示全部楼层
百度了一下,i/o buffer error 主要是硬盘或分区表有些错误。
可以通过磁盘检查修正。
回复

使用道具 举报

148#
 楼主| 发表于 2013-6-28 09:05:40 | 显示全部楼层
paulhybryant 发表于 2013-6-28 06:37
在虚拟机下应该也可以启动,如果不能启动的话很有可能是驱动的问题。觉得可能udev的rule处理好应该就可以 ...


呵呵。您是高手。非常正确。非常感谢。
其实执行一下命令就可以看出来我在local文件中改写的vmlite的代码了。
  1. sudo gedit /usr/share/initramfs-tools/scripts/local
复制代码
使用**********括住的那一段就是了。
原来vmlite代码是一句
  1. vlosetup /dev/loop0 ***
复制代码
我改为了
  1. losetup /dev/loop0 ****
  2. kpartx -av /dev/loop0
复制代码
其他改动也有但都是没有用的或者简化的。
回复

使用道具 举报

149#
 楼主| 发表于 2013-6-28 09:51:41 | 显示全部楼层
本帖最后由 2011niumao 于 2013-7-6 00:35 编辑
2012studyvhd 发表于 2013-6-27 23:16
最近手动制作了initrd.img,按照楼主简单描述发现制作的initrd.img不能引导。可能是哪个细节没注意到吧
...


本质上仅仅需要自己制作一个可以引导固定大小 vhd ubuntu 的initrd.img,然后把initrd.img vmlinuz复制到与vhd文件同一个目录之中,设置引导就可以了。
vhd系统内部可以不做任何更改。
但为了方便,也是为了把kpartx losetup加入到initrd.img中,应该安装以下三个软件:
kpartx kpartx-boot util-linux dmsetup.


或者打开一个终端,输入以下命令
  1. sudo apt-get install kpartx kpartx-boot util-linux dmsetup
复制代码
此外需要手工修改三个文件。详细修改看看附件。

vhdbootdiy.zip (9.73 KB, 下载次数: 37)



点评

只是封装的时候出现一个怪现象,就是在虚拟机的时候声卡可以完美运行。 但是用本机启动到vhd系统时声卡却出现问题。于是我就参考了下面的文章,安装声卡驱动,但是失败,出现下列信息 checking for kernel linux/ve  详情 回复 发表于 2013-6-29 18:27
经实验,楼主提供的方法完全可以用于1304系列的ubuntu系统。在楼主的帮助下,封装vhd 13.04 成功。  详情 回复 发表于 2013-6-29 18:19
回复

使用道具 举报

150#
 楼主| 发表于 2013-6-29 19:14:54 | 显示全部楼层
2012studyvhd 发表于 2013-6-29 18:19
经实验,楼主提供的方法完全可以用于1304系列的ubuntu系统。在楼主的帮助下,封装vhd 13.04 成功。

很高兴这个反馈!这意味着 UBUNTU的vhd制作应该没有问题了。我估计所有的linux发行版都可以用类似方法
做出vhd系统。呵呵。留着等有时间再折腾吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-1 06:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表