|
首先发出linux超级菜鸟的吼声:他喵的,原来升级ubuntu内核不一定要自己编译,有直接安装升级的包,我叉!
ok,我发泄完了,下面稍微总结一下:
一、目前vboot对linux的支持仅限于几个版本的内核,比如:ubuntu的2.6.35-28和2.6.38-7。
二、如果对ubuntu等linux版本无追求,那么可以直接去vboot官方网站下载已经打包好的vhd,把vhd下载到电脑上,安装vboot,编辑grub.cfg,比如加入如下菜单:
menuentry "VHD ubuntu11" {
insmod vhd
vhd vhd0 (hd0,5)/ubuntu-1104-beta1-i386.vhd --partitions
linux (vhd0,1)/boot/vmlinuz-2.6.38-7-generic root=/dev/sdb5 vloop=/ubuntu-1104-beta1-i386.vhd vlooppart=p1 quiet splash
initrd (vhd0,1)/boot/initrd.img-2.6.38-7-generic
}
官方包含vhd的压缩包内的htm文件中已经有相应的菜单了。里面需要修改的部分也已经用红字标出,直接拷贝过来基本上需要修改的就是 第二行vhd0后的路径,第三行root、vloop后面的路径。需要注意的是 第二行 (hdx,x)和第三行sdxx的确定。(hdx,x)很容易确定,不敢确定的话在vboot菜单下进入命令行,用ls命令查看就能知道。关键是sdxx,我原来以为与hd(x,x)一致,后来发现有些机器上是不一样的。晕,这个只能靠你自己去修改发现了。反正vboot可以直接修改后按运行测试。另外,官方提供的ubuntu11的下载文件的htm文件中,菜单少了insmod vhd这句话,得加上,不能漏了。
三、如果你需要把一些网络上修改的ubuntu装到vhd上,那么你就需要动手了,首先要用虚拟机把系统装到vhd文件里面,用终端查看内核版本,命令式uname -a ,然后:
1.如果需要安装的ubuntu内核版本与官方支持的一致,那就很简单了。直接去官方下载ubuntu-.....-setup-files.7z,把initrd.img-2.6.35-28-generic,vmlinuz-2.6.35-28-generic这两个文件覆盖vhd里面boot下面的同名文件。然后像官方vhd那样安装启动就行了。比如深度deepin_10.12.1_i386.iso 这个版本就是2.6.35-28内核的,直接覆盖文件就能搞定了。
2.如果内核版本不在支持之列,那么就只能先安装相应内核。别寄希望于apt-get install xxxx,我试了,没用。用google搜索 package 2.6.35-28-generic 就能找到相应的deb包下载,直接在虚拟机里面安装。安装完毕后,直接用官方文件替换boot下的同名文件。如果原来的内核版本高过后来安装的版本,还得修改/boot/grub/grub.cfg,把低版本的那个启动行调到前面去。然后同样是像官方vhd那样安装启动就行了。
这里再倒一下苦水,我在linux方面就是一绝对菜鸟,居然以为内核必须编译安装,结果测试几个ubuntu修改版,反反复复编译了好几次,每次耗时都快一个小时,每次都是内核编译成功了,但运行vhd却失败(估计是内核文件起名与官方文件不符)。后来偶尔才知道原来安装内核直接有相应的运行文件,就像win下双击鼠标就行了,我晕啊。windows xp 装vhd,我只用了不到半个小时就研究弄懂兼搞定,而linux却花了我几天时间,因为我连Linux命令都不懂几个。有的人可能会说,既然你如此菜,肯定整天用win,何必装linux玩?我要说的是,如果我linux不菜,我何必装Linux进vhd? linux高手必定不屑用wubi或vhd安装linux。
四、目前仍有小问题。现在测试了linuxdeepin , xhacker修改的ubuntu,都能运行的不错,其他各种操作比如上网、看电影、听音乐等均无问题。但是如果在设备里面双击查看vhd所在的硬盘,则出现错误提示" Internal error: No mount object for mounted volume", 而进入media里面双击该盘却能正常查看,不知道是不是兼容问题。不过这只是小毛病了。 |
评分
-
查看全部评分
|