[分享]要做一个移动的ubuntu那可是真曲折啊!

为当前最终发行版之前的所有版本提供支持
回复
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27
送出感谢: 0
接收感谢: 0

[分享]要做一个移动的ubuntu那可是真曲折啊!

#1

帖子 wucongkun » 2006-12-01 23:00

第一步
安装ubuntu
用gaoxing提供的文件,解压到C盘,很顺利启动edgy。
安装的障碍有两个,分区,和grub。
分区要想好,自己一定要留个swap出来的。否则你将很后悔。grub安装的时候默认到hd0,我试图安装到移动硬盘,sd0,sda,sda0,没有一个可以成功。都是在90%左右报错失败。呵呵,算了,就让grub到hd0吧。安装很快结束,这时候如果你没有十分地把握,千万不要乱动grub,menu.lst的配置。冲动的惩罚是很严重的!
第二步,
修改initrd和grub.
建议你先修改initrd。如果你处理了grub导致系统崩溃,你还能指望用什么来定制initrd?initrd可以参照ptptptptptpt的做法,
viewtopic.php?t=29692
我对这个本身并不是太明白,绝对的实用主义,经验主义者,我。
grub的安装也可以参照pt的做法,实际上我也就只知道这个做法。呵呵。安装好了 ,有点晕,心里面并不是很明白。但是这些天来,挫折,打击,让我学会了用 grub.这里需要说明的是,如果你的 initrd做好了,grub也安装了,那你可以修改boot设置了。去下载一个 maxdos之类的工具,你可以在引导以后,选择进入maxdos,然后fdisk /mbr。这样win 引导程序就回来了。然后设置从移动硬盘启动。我分区设置如下:
/
swap
/boot
最后一个fat32
保留一个fat分区是明智的,这个可以用来交换文件,还可以用来boot。
大家要明白,根据我的设置,grub里面会出现
hd0,0
hd0,4
hd0,5
hd0,6
分别对应上面的分区。注意 没有123.
修改bios后从移动硬盘启动了!注意!!!!如果你留了一个/boot分区,那么ptptptptptpt的做法将让你感到迷惑。
修改了boot顺序以后
移动硬盘一般都会被当作hd0
真不明白为什么没有sd0
menu.lst如下
title mobile ubuntu
kernel (hd0,0)/boot/vmlinuz boot=casper ramdisk_size=1048576 root=/dev/ram rw splash debian-installer/locale=zh_CN
initrd (hd0,0)/boot/initrd.gz
如果你有一个boot的话
就像我的设置
那么 vmlinuz initrd将会不能在hd0,0/boot/目录启动。一般这样会导致一个 error 23或者error 15。迷茫啊!这时候fat32分区用上了。自己进入命令行的grub,自己配置vmlinuz,initrd。我突然发现在fat32里面的initrd vmlinuz可以正常被引导。这就奇怪了,没道理啊。大家要是看我的帖子,
[url]viewtopic.php?t=33068[/url]
一定很明白我的心情。郁闷!呵呵,今天几乎都绝望了,跟人在IRC聊天,有人问我,你grub设置正确么?我说没问题啊。然后他问你的/boot设置好了?那时我突然明白!我自己有一个/boot,虽然/boot可以在/找到,但是grub却一定要用(hd0,5)/vmlinuz才可以!
改正如下:
title mobile ubuntu
kernel (hd0,5)/vmlinuz boot=casper ramdisk_size=1048576 root=/dev/ram rw splash debian-installer/locale=zh_CN
initrd (hd0,5)/initrd.gz
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27
送出感谢: 0
接收感谢: 0

#2

帖子 wucongkun » 2006-12-01 23:03

如果你非常惊喜地发现
你的 grub引导不了win
别着急
进入grub
然后按C
输入
root (hd0,0)
chainloader +1
boot
三行之后就启动了。
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27
送出感谢: 0
接收感谢: 0

#3

帖子 wucongkun » 2006-12-01 23:14

但是我还有一个问题
前途是光明的 但是道路是曲折的
一切弄好了。但是最后一些牵扯到initrd的东西 我处理不了。毕竟是菜鸟啊!
我如果用原版initrd的话,一般会导致mount root filesystem的问题。ubuntu显示两个OK,第三个这个mount一直卡住。
如果我用自己做的initrd.686m.gz,参照pt兄的做法。我忽略了我找不到的lib/casper/shutdown脚本。用这个启动,我会在最后得到一个can't access tty .job control turned off的结果。奇怪!
虽然我用那些仅有的命令输入了一些结果出来。但是用explore2fs一个都没有找到。不能给大家提供信息了,遗憾那!
maoyj
帖子: 11
注册时间: 2006-12-28 7:02
送出感谢: 0
接收感谢: 0
联系:

Re: [分享]要做一个移动的ubuntu那可是真曲折啊!

#4

帖子 maoyj » 2006-12-28 12:30

wucongkun 写了: grub安装的时候默认到hd0,我试图安装到移动硬盘,sd0,sda,sda0,没有一个可以成功。都是在90%左右报错失败。呵呵,算了,就让grub到hd0吧。
2. GRUB的设备命名规则:
  首先GRUB对设备的命名必须包含在小括号内,GRUB不区分IDE硬盘和SCSI硬盘,统一
使
用hdx
,其中x指定BIOS中硬盘的编号,从零开始计数,而且通常计算机内的IDE硬盘编号

SCSI硬盘前。GRUB用fdx指定软盘设备,x是软盘驱动器号。具体命名规则如下:
  (fd0):第一软驱,GRUB还可以引导软盘上的操作系统:)
  (hd0,1): 第一块硬盘的第二个分区。
  (hd1,4): 第二块硬盘的第一个扩展分区,扩展的分区是从4开始编号的。
  (hd0,2,a): 专用于FreeBSD,FreeBSD有一个slice概念,把一个分区进一步分为几个
s
lice,此处指明是第一块硬盘的第三个分区中的slice a。你也可以用(hd0,a),这样GRUB

会在第一块硬盘上找到第一个FreeBSD分区的slice a。


不知道是不是这个原因? 我也用SDA阿SDA0和SD0发现不行……
等下看看用HD1行不(以前SUSE安到SDB没出这个问题)
回复

回到 “老旧版本支持”