无忧启动论坛

标题: vbox装ubuntu1410遇阻,求2011niumao大神帮忙 [打印本页]

作者: LowerAI    时间: 2014-10-26 01:12
标题: vbox装ubuntu1410遇阻,求2011niumao大神帮忙
        看了" LINUX VHD系统的制作方法-UBUNTU ARCH两种 "这篇帖子就想试一试制作最新版的1410版的Ubuntu虚拟盘,使用了最新版的virtualbox v4.3.18 r98516。在这个版本里面可以支持EFI启动,但是我尝试EFI和非EFI启动两种模式都不行。
        首先VHD是固定的16G,在windows磁盘管理中创建的。然后挂在到vbox中创建的ubuntu虚拟机,光盘是中科大下的最新的ubuntu 14.10 amd64.iso镜像。
        启动vbox,在非efi模式下,ubuntu的Live CD进入桌面后直接花屏,但是能听见Ubuntu系统登陆的那一声“叮咚”的响声证明除了花屏一切正常,但是这样肯定无法安装,如下图
       

        然后是EFI模式,这个进Live CD、安装到VHD一切正常,但是装完之后就无法从VHD启动,启动之后直接进入了EFI Shell,输入exit后退出进入EFI BIOS,然后有个”设备列表“,进去发现看不见任何设备,如下图
       

        求众神帮忙指点,谢谢!
作者: 2011niumao    时间: 2014-10-26 09:59
使用live-cd 启动。检查vhd硬盘是否有EFI分区。挂载EFI分区。
建立EFI的子目录BOOT.
把EFI分区里面 EFI/ubuntu/shim.efi grubx64.efi 拷贝到BOOT内。
把shim.efi改名为bootx64.efi。
作者: 2011niumao    时间: 2014-10-26 10:04
感觉是不是没有建立EFI分区呢?要是那样的话只能重装?了吧 。
EFI分区放最前面,给个100M就可以 。其余的给根分区。
作者: LowerAI    时间: 2014-10-26 11:45
2011niumao 发表于 2014-10-26 09:59
使用live-cd 启动。检查vhd硬盘是否有EFI分区。挂载EFI分区。
建立EFI的子目录BOOT.
把EFI分区里面 EFI/u ...

果然是没有做这一步,做了之后就能正常引导进系统了,非常感谢niumao大神
作者: LowerAI    时间: 2014-10-26 13:49
2011niumao 发表于 2014-10-26 10:04
感觉是不是没有建立EFI分区呢?要是那样的话只能重装?了吧 。
EFI分区放最前面,给个100M就可以 。其余的 ...

按照你的帖子“http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1”中3楼“UBUNTU制作可以引导VHD系统的initrd.img 的方法”来操作,我顺利得到了第一个文件initrd.img-3.16.0-23-generic,但是你的网盘“引导VHD的内核镜像-UBUNTU版本”中一般都有3个文件如下图这样
       
        剩下两个文件不知道你是怎么生成的,于是我就直接到ubuntu的boot目录中直接拷贝了vmlinuz然后改名为vmlinuz-3.16.0-23-generic,到lib/module目录下把3.16.0-23-generic文件夹压缩为3.16.0-23-generic.zip,这样得到与你类似的3个文件然后按照原先引导ubuntu 14.04那样的办法把vhd文件和这3个文件放在同一目录下,如下图
       
        然后引导,结果开始跟原来一样都是一堆命令闪过,然后。。然后就没有视频信号了。。。。也没有报任何错误按热键也不能重启,就是显示器收不到任何视频输出。请问大神这个怎么搞?
作者: 2011niumao    时间: 2014-10-26 13:59
LowerAI 发表于 2014-10-26 13:49
按照你的帖子“http://bbs.wuyou.net/forum.php?mod=viewthread&tid=336079&extra=page%3D1”中3楼“UBUN ...

不需要那个点zip文件===那个是给非UBUNTU的linux使用的。

只需要三个文件  initrd.img-3.16.0-23-generic(有引导vhd功能的) vmlinuz-3.16.0-23-generic  vmlinuz-3.16.0-23.efi .signed
vmlinuz需要从 /boot/ 拷贝 。不是 /下 。

你的这个原因不太清楚。有可能已经引导好了,只是由于显卡原因不能显示。
你可以下载我制作好的,3.16.0-23 ,已经上传到那个目录内了。 只需要下载上面说的三个文件。
用他们引导试一试。
作者: 2011niumao    时间: 2014-10-26 14:01
本帖最后由 2011niumao 于 2014-10-26 14:04 编辑
LowerAI 发表于 2014-10-26 13:49
按照你的帖子“http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1”中3楼“UBUN ...


引导器可以下载新的  grub通用启动器-2014-10-25 。
另外 你使用EFI引导还是bios引导?如果是EFI 最好使用vmlinuz-3.16.0-23-generic.efi.signed .

作者: LowerAI    时间: 2014-10-26 16:05
2011niumao 发表于 2014-10-26 14:01
引导器可以下载新的  grub通用启动器-2014-10-25 。
另外 你使用EFI引导还是bios引导?如果是EFI 最好 ...

        我的分区是EFI+MBR的,SSD+HDD,SSD分为ESP和C盘,HDD分为D、E、F盘,具体分区如下图
       
        然后到你的百度网盘下载了Ubuntu1410,把里面的7z文件解压后得到的vhd和其余的引导文件拷贝到我的C盘ubuntu目录下替换我自己做的VHD文件
       
        然后下载你的grub通用引导器解压后替换我的ESP中原有的多系统引导(原来的也是grub2),
       
        最后修改grubefi目录下的grub.cfg文件,改完后如下
       
        重启后能够看到引导菜单,原有的Win10和win8.1都能正常引导,但是引导ubuntu1410.vhd仍然与我自己做的镜像一样的效果,即一堆命令闪完之后显示器进入无信号节能状态,按热键无反应,
只能重启进Windows,求指点。
作者: 2011niumao    时间: 2014-10-26 16:23
本帖最后由 2011niumao 于 2014-10-26 16:42 编辑

估计是分辨率设置的问题。请先使用下一楼的方法。看看。


没有遇见过这种情况。一是可能与SSD有关,一是可能与显卡有关。
可以观察一堆命令闪过时候的出错信息。或者 按住 ctrl+alt+F2 看看能否进入控制台。
在启动菜单 linux 语句后面加入 recovery 看看能否进入急救模式。或者 加入 text 看看能否进入命令行模式。
如果你是双显卡,建议先关掉独显,试试看能否正常出现显示桌面。
作者: 2011niumao    时间: 2014-10-26 16:31
本帖最后由 2011niumao 于 2014-10-26 16:39 编辑
2011niumao 发表于 2014-10-26 16:23
没有遇见过这种情况。一是可能与SSD有关,一是可能与显卡有关。
可以观察一堆命令闪过时候的出错信息。或 ...


有一个问题
grub2菜单中 probe 那一句应该删除。
这句的本意是自动探测到UUID并传递给内核。你直接输入了UUID。就不需要这句了。有他反而有问题。

另外 linux 语句后面的 quiet splash 也可以删除。这个有时候也会出现黑屏不能进入系统的情形。

编辑 /grubefi/grub.cfg  /grubpc/grub.cfg 文件,把
  1. set gfxmode=800x600
复制代码

修改为
  1. set gfxmode=auto
复制代码


或者你的显卡的合适的分辨率看看。例如 1024x768  1440x900 。
作者: LowerAI    时间: 2014-10-26 18:24
2011niumao 发表于 2014-10-26 16:23
估计是分辨率设置的问题。请先使用下一楼的方法。看看。


        我觉得不可能与SSD有关,前面的截图你也看到了,那个ubuntu1404也是用的您的版本,是可以使用的,现在换了1410还是您的版本,就不行了,应该与SSD无关。
按住 ctrl+alt+F2也是没有任何反应的。在启动菜单 linux 语句后面加入 recovery或者text都试过了,加在linux与后面的命令之间会报语法错误,加在linux语句的最后则与没加一样没有任何效果。
我的主板的确带有集成显卡,但是一般用独显,刚才尝试从独显切换到集显,悲剧的是无论BIOS怎么设置集显都无法输出视频信号,连自检的信号都看不见。

        grub2菜单中 probe 那一句已经删了,linux 语句后面的 quiet splash 也删了,set gfxmode=auto或者set gfxmode=1920*1080都尝试过了,一点效果都没有。
作者: 2011niumao    时间: 2014-10-26 18:35
那就只能求救百度了。
估计可能系统成功启动了,但是系统信号输出给集显。
在BIOS里面彻底禁用集显。可能还需要对UBUNTU系统做一些设置上的调整使得它知道使用独显。
这一块可以百度试试。
作者: LowerAI    时间: 2014-10-26 18:41
2011niumao 发表于 2014-10-26 18:35
那就只能求救百度了。
估计可能系统成功启动了,但是系统信号输出给集显。
在BIOS里面彻底禁用集显。可能 ...

BIOS里面禁用集显试过了,无效
ubuntu里面怎么设置信号输出到独显?
作者: 2011niumao    时间: 2014-10-26 18:46
本帖最后由 2011niumao 于 2014-10-26 18:48 编辑
LowerAI 发表于 2014-10-26 18:24
我觉得不可能与SSD有关,前面的截图你也看到了,那个ubuntu1404也是用的您的版本,是可以使用的,现在 ...


不过 好像是 UBUNTU 14.04 的确比 14.10 要好。成功率也高。
如果你的1404成功过,那可以试试使用1404的引导文件来引导1410.
只需要把对应的lib/modules/3.******** 子目录拷贝到1410vhd系统内。

或者 我新上传了一个3.16.0-23-14041 ,里面是我的14041目前使用的引导文件。也可以用它试试。
还在这里
http://pan.baidu.com/s/1mgFi1Qg


作者: LowerAI    时间: 2014-10-26 18:52
2011niumao 发表于 2014-10-26 18:46
不过 好像是 UBUNTU 14.04 的确比 14.10 要好。成功率也高。
如果你的1404成功过,那可以试试使用1404 ...

3.16.0-23-14041这几个文件替换原来的文件之后需要把“-14041”这个字符串去掉吗
作者: 2011niumao    时间: 2014-10-26 19:18
LowerAI 发表于 2014-10-26 18:52
3.16.0-23-14041这几个文件替换原来的文件之后需要把“-14041”这个字符串去掉吗

哦。不要替换。同时保留就是。
在引导菜单项上 把 vmlinuz initrdimg文件的后缀的generic 修改为14041就可以阿。
这样方便些。
作者: LowerAI    时间: 2014-10-26 19:34
2011niumao 发表于 2014-10-26 19:18
哦。不要替换。同时保留就是。
在引导菜单项上 把 vmlinuz initrdimg文件的后缀的generic 修改为14041就 ...

试了,还是无效
作者: 2011niumao    时间: 2014-10-26 19:37
本帖最后由 2011niumao 于 2014-10-26 19:43 编辑
LowerAI 发表于 2014-10-26 19:34
试了,还是无效


那就没办法了。可以使用你原来成功引导14.04的引导文件来引导14.10 试试。
另外,应该了解一下你的显卡类型。这样可以在VirtualBox下安装显卡的开源驱动。
作者: 2011niumao    时间: 2014-10-27 13:58
本帖最后由 2011niumao 于 2014-10-27 14:06 编辑
LowerAI 发表于 2014-10-26 19:34
试了,还是无效


注意到以下链接的 539楼 541楼http://bbs.wuyou.net/forum.php?m ... age%3D1&page=54
和你这里问题有相似之处。感觉是 grub2 EFI的问题。不同的grub2制作的bootx64.efi 似乎引导效果不同。

根据2011tuzhis网友的解决方案

建议1 grub.cfg引导菜单中的 linux initrd 分别更改为 linuxefi   initrdefi  .这两个似乎是grub2.02引入的新命令。
建议2 下载541楼提供的EFI文件,用它替换原来的bootx64.efi===最好备份好。再引导。注意他的菜单在/boot/grub中。要编辑/boot/grub/grub.cg文件。
作者: LowerAI    时间: 2014-10-27 14:18
2011niumao 发表于 2014-10-27 13:58
注意到以下链接的 539楼 541楼http://bbs.wuyou.net/forum.php?mod=viewthread&tid=276747&extra=page% ...

昨天按照您的说法把3个引导文件换成了3.13.0-26,就是没有把哪个zip文件加压后去替换ubuntu的lib\module\下面的同名目录,结果就是卡在了一对命令的界面,准备今晚再去替换试一试。
当然了,优先尝试您给的最新解决方案,非常感谢
作者: LowerAI    时间: 2014-10-27 21:20
2011niumao 发表于 2014-10-27 13:58
注意到以下链接的 539楼 541楼http://bbs.wuyou.net/forum.php?m ... 747&extra=page% ...


        试验结果如下:
按照建议1做,结果根那人的效果一样,都是这样的

按照建议2做,用那个附件替换之后与不替换没差别,如果在grub.cfg中linux和initrd后面不加efi那就依然是一闪而过然后黑屏无信号,加了就是建议1的效果

作者: 2011niumao    时间: 2014-10-27 21:59
本帖最后由 2011niumao 于 2014-10-27 22:05 编辑
LowerAI 发表于 2014-10-27 21:20
试验结果如下:
按照建议1做,结果根那人的效果一样,都是这样的


也谢谢你的反馈。就和猜谜破案一样的,有错误提示总是好的。看来和那里的错误一个根源。
secure boot 要关掉吧。看提示是 vmlinuz没有加载成功。具体原因不详。

能否使用BIOS启动?看你的主板是否支持了。我从新制作上传了grub通用启动器-2014-10-27 。
如果主板支持BIOS启动,可以制作一个启动优盘,fat32 格式。使用bootice 设置优盘启动为grub4dos ,
把grub通用启动器-2014-10-27 解压到优盘。这样你可以直接优盘BIOS启动或UEFI启动,避免对硬盘再操作了。
作者: 2011niumao    时间: 2014-10-27 22:20
本帖最后由 2011niumao 于 2014-10-27 22:23 编辑
LowerAI 发表于 2014-10-27 21:20
试验结果如下:
按照建议1做,结果根那人的效果一样,都是这样的

  1. set gfxpayload=text
复制代码
  1. set gfxmode=800x600
  2. set gfxpayload=800x600
复制代码
还有一个参数 gfxpayload ,可以设置为你显示器分辨率或text。如上。参考
http://gnu.april.org/software/gr ... ode/gfxpayload.html
作者: LowerAI    时间: 2014-10-27 23:53
2011niumao 发表于 2014-10-27 22:20
还有一个参数 gfxpayload ,可以设置为你显示器分辨率或text。如上。参考
http://gnu.april.org/softwa ...


        后来又尝试了把3.13.0-26-generic.zip解压后的文件放到ubuntu-1410.vhd的lib/modules目录下,然后修改grub.cfg把里面的“3.16.0-23”都替换为“3.13.0-26”,然后就可以进入ubuntu了,但是用了网线还是无法联网。看来还是这个文件夹的原因吧,仔细看了下这个目录中的文件对比系统原生的“3.16.0-23-generic”目录,发现比原生目录少了4个文件夹的内容,比如“update”、“vdos”等。
        想请教下“3.13.0-26-generic.zip”这个文件是怎么生成的,掌握了这个以后升级内核也不怕了。
作者: 2011niumao    时间: 2014-10-28 08:36
LowerAI 发表于 2014-10-27 23:53
后来又尝试了把3.13.0-26-generic.zip解压后的文件放到ubuntu-1410.vhd的lib/modules目录下,然后修改 ...

看来是内核问题。可能3.16.0-23内核有些毛病。这时可以使用低版本内核,如你这里使用的是3.13.0-26。

3.13.0-26.zip就是把 /lib/modules/3.13.0-26-generic目录打包制作的。本意是给内核做一个备份或给其他非ubuntu的linux发行版使用ubuntu内核时候使用。
可以使用新立得或者命令行去安装内核3.13.0-26就得到这个目录了。
也可以安装其他版本。例如3.16.0-20.然后用他们引导。
新立得搜索 3.13.0-26  标记安装 带 headers image extra-image signed 的大概是5个文件。
作者: 2011niumao    时间: 2014-11-2 13:28
本帖最后由 2011niumao 于 2014-11-2 13:30 编辑
LowerAI 发表于 2014-10-27 23:53
后来又尝试了把3.13.0-26-generic.zip解压后的文件放到ubuntu-1410.vhd的lib/modules目录下,然后修改 ...


做了一点改进。不知能不能解决你的问题。我解决了引导UBUNTU-12045.vhd的问题,使用initrd.img-3.16.0-23-test可以引导到12045.建议你下载以下连接的 initrd.img-3.16.0-23-test 和 initrd.img-3.16.0-23-test1 尝试一下。
http://pan.baidu.com/s/1mgFi1Qg# ... 2F3.16.0-23-generic

原先不能引导似乎与 framebuffer有关。缺省是把很多framebuffer加入黑名单。现在修改一下 /etc/modprobe/blacklist-framebuffer.list 把与显卡有关的黑名单注释掉,再制作initrd.img即可。

不过这样的initrd.img不能用于VBOX。只能用于vhd直接引导。我这里测试如此。不知原因。
作者: 2011niumao    时间: 2014-11-2 13:40
http://pan.baidu.com/s/1mgFi1Qg# ... 2F3.16.0-23-generic
或者
百度云盘 http://pan.baidu.com/s/1mgFi1Qg 子目录3.16.0-23

1. 非UBUNTU的LINUX系统,或者低版本的UBUNTU系统,请下载点zip文件,并且解压复制到/lib/modules目录下面。
对于UBUNTU 14.10 x64 64位系统,可以在新立得里面安装 3.16.0-23 内核。不需要下载点zip文件。

2. 如果引导过程中不能进入桌面,可以尝试安装 gdm ,把 lightdm 更改为 gdm
sudo dpkg-reconfigure lightdm

在弹出窗口选择 gdm 。如果还是不能进入桌面,可继续第三步。

3. 下载这里的initrd.img-3.16.0-23-test 或 initrd.img-3.16.0-23-test1 .尝试使用它们替代原来的 initrd.img-3.16.0-23-generic来引导,
也许可以成功进入桌面。(编辑引导菜单,把 initrd 语句的最后的 -generic 更改为 -test 或 -test1 )

4. initrd.img-XXXXX-tets 是编辑 /etc/modprobe.d/blacklist-framebuffer.conf与  /etc/modprobe.d/fbdev-blacklist.conf 两个文件,
把其中关于 vesafb  radeonfb(或者是你的显卡类型对应的fb)注释掉。再重新制作initrd.img得到的。
但注意这样的initrd.img不能用于VBOX内部引导。只能用于直接引导到VHD的情形。不知其原因。

5. 引导菜单中 linux 命令行的参数 quiet splash 最好先不要使用,否则有可能进不了桌面。等到调制好了再尝试加上 quiet splash 。
作者: LowerAI    时间: 2014-11-3 22:40
2011niumao 发表于 2014-11-2 13:28
做了一点改进。不知能不能解决你的问题。我解决了引导UBUNTU-12045.vhd的问题,使用initrd.img-3.16.0- ...

试了,还是跟原来一样,命令一闪而过然后显示器进入节能状态
作者: 2011niumao    时间: 2014-11-4 08:51
LowerAI 发表于 2014-11-3 22:40
试了,还是跟原来一样,命令一闪而过然后显示器进入节能状态

噢。看来没有把准脉。慢慢探测吧。
作者: LowerAI    时间: 2014-11-4 15:38
2011niumao 发表于 2014-11-4 08:51
噢。看来没有把准脉。慢慢探测吧。


请大神继续努力,静候佳音
作者: wqlxx    时间: 2014-11-14 15:52
2011niumao 发表于 2014-11-4 08:51
噢。看来没有把准脉。慢慢探测吧。

请问大神,我在virtualbox上用ubuntu12.04-desktop-i386.iso安装到一个5G固定大小的vhd文件中。也安装你的步骤重新生成initrd.img。现在的内核版本是3.2.0-23-generic-pae。
问题
(1)你说的vmlinuz和initrd.img是不是就是在virtualbox上的虚拟机里的/boot目录下的initrd.img和vmlinuz?
(2)还是说,我要在我的12.04的虚拟机里先更新内核到3.16.0-23,再安装你的方法生成新的initrd.img。再将initrd.img和vmlinuz拷贝到外面文件夹呢?
作者: 2011niumao    时间: 2014-11-14 16:04
wqlxx 发表于 2014-11-14 15:52
请问大神,我在virtualbox上用ubuntu12.04-desktop-i386.iso安装到一个5G固定大小的vhd文件中。也安装你 ...

(1)是的。注意不要拷贝根下的。要拷贝boot目录下的。(2)不用。
作者: wqlxx    时间: 2014-11-14 16:48
2011niumao 发表于 2014-11-14 16:04
(1)是的。注意不要拷贝根下的。要拷贝boot目录下的。(2)不用。

感谢大神这么快回复,我去试试。
作者: wqlxx    时间: 2014-11-18 09:51
2011niumao 发表于 2014-11-14 16:04
(1)是的。注意不要拷贝根下的。要拷贝boot目录下的。(2)不用。

请问,除了vhd,grub2能引导qcow格式的虚拟磁盘吗?
作者: 2011niumao    时间: 2014-11-18 11:43
wqlxx 发表于 2014-11-18 09:51
请问,除了vhd,grub2能引导qcow格式的虚拟磁盘吗?

不太了解。
作者: 2011niumao    时间: 2014-12-4 16:46
本帖最后由 2011niumao 于 2014-12-4 16:50 编辑
LowerAI 发表于 2014-11-4 15:38
请大神继续努力,静候佳音


今天把VHD放在了ext4分区上,出现了你描述的一样问题.黑屏 无信号.只能重启.
后来可以进入命令行.查明是根系统所在分区变成只读的原因.所以  
如下操作一遍:
1. 把VHD文件所在分区 检查修正错误---WIN系统下面.
2. 虚拟机对VHD系统根分区检查修改错误---recovery模式下.
3. 在引导时候在linux语句后面加入 rw ,表示以可写方式挂载根分区.这点很重要.
   因为它可以导致VHD文件所在分区以可写方式挂载.
现在已经成功引导ext4上的vhd系统. 希望你也成功
作者: 2011niumao    时间: 2014-12-4 17:03
此外win8 win10 会有快速启动设置吧?需要关掉快速启动设置.
不然所有ntfs分区都不能被正确挂载,从而只读.导致linux vhd不能启动.
作者: LowerAI    时间: 2014-12-4 18:17
2011niumao 发表于 2014-12-4 16:46
今天把VHD放在了ext4分区上,出现了你描述的一样问题.黑屏 无信号.只能重启.
后来可以进入命令行.查明 ...

谢谢大神,这个“rw”究竟加在linux语句的行末尾还是加在“linux”这个字符串和后面一串命令之间呢
作者: 2011niumao    时间: 2014-12-4 20:57
LowerAI 发表于 2014-12-4 18:17
谢谢大神,这个“rw”究竟加在linux语句的行末尾还是加在“linux”这个字符串和后面一串命令之间呢

位置不限.前后留有空格就行.例如放在root=xxxxxxxxxxxx后面.
作者: LowerAI    时间: 2014-12-6 14:54
2011niumao 发表于 2014-12-4 20:57
位置不限.前后留有空格就行.例如放在root=xxxxxxxxxxxx后面.

试过了,故障依然如故
作者: 2011niumao    时间: 2014-12-6 15:58
LowerAI 发表于 2014-12-6 14:54
试过了,故障依然如故

哦.我想起来,你原来说的故障是 找不到vmlinuz.这个比较奇怪.
请注意UEFI下应该把/boot/vmlinuz-3.16.0-25-generic.efi.signed /boot/initrd.img-3.16.0-25-generic 拷贝出来作引导.不是拷贝根目录下的文件----那里只是个软连接.
此外需要检查一下grub.cfg  看看路径是不是正确.  

作者: 2011xiongdeyuan    时间: 2015-2-10 19:05
不错,支持




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3