尿不湿 发表于 2006-3-17 14:03:14

请问怎么把linuxmagic2.0安装到USB移动硬盘上阿

具体怎么操作阿?

KDE 发表于 2006-3-17 21:54:07

grub是否支持从 USB 硬盘启动不得而知。安装程序是能识别插上的 usb 移动硬盘的,所以我猜可以安装,但是我没有实验过。您的机器启动时 BIOS 能否识别插上的 usb 设备?若能,启动就没问题。但是问题比这复杂得多。假设你能启动,如果你同时插上两个设备,比如还有一个 U 盘,你就有麻烦了,因为两个设备被识别成不同的设备,而写在 MBR 的 GRUB 信息是固定的,你的移动硬盘可能此时对应于完全不同的设备符号了,比如原来是 sda,现在是 sdb,那肯定不能自动启动。你可以试试,把过程贴出来。

尿不湿 发表于 2006-3-17 22:40:19

我有安装过ubuntu
完全可以在移动硬盘上启动成功的
但ML让我有感觉,你们的辛苦之做
下午在IDE上装好系统
然后再转到USB上,改成dev/sda启动
能出现画面,但是底下的进度条一直不前进
对你表示亲切的慰问
身体健康
工作顺利

KDE 发表于 2006-3-17 23:00:15

系统里的很多配置文件都是设备依赖的,你怎么能直接把系统移动到一个不同的设备上!你可以尝试直接安装到移动硬盘上。

cvip 发表于 2006-3-18 01:20:34

我也向高手请教啊!!!

尿不湿 发表于 2006-3-18 01:25:48

系统里的很多配置文件都是设备依赖的,你怎么能直接把系统移动到一个不同的设备上!你可以尝试直接安装到移动硬盘上。
直接在移动硬盘上安装
能安装成功
但是在启动时还是一样在进度条的时候就停住了

尿不湿 发表于 2006-3-19 13:33:47

顶上来
寻求方法

apassz 发表于 2006-4-19 18:16:08

顶 期待高人解决

jiangtao9999 发表于 2006-4-19 19:02:49

系统里的很多配置文件都是设备依赖的,你怎么能直接把系统移动到一个不同的设备上!你可以尝试直接安装到移动硬盘上。
直接在移动硬盘上安装
能安装成功
但是在启动时还是一样在进度条的时候就停住了
按 F2 看输出,或者把 grub 里的 splash=slient 删掉
看看错误是什么

woolzey 发表于 2006-4-20 10:54:38

安装可以直接装到移动硬盘上。
然后需要改grub的menu.lst,所有的(hdx,y),都改成(hd0,y),这样就能用grub引导了。

不过现在的问题是,启动后根文件系统无法mount上。按理说magiclinux已经把所有的usb模块都编译到核心里去了,不需要自己做initrd,不知道这个是为什么。

根据google结果,给核心加上rootdelay参数也没用。我估计或许可能需要在initrd的启动脚本里面加延迟,不过还没来得及验证。

KDE 发表于 2006-4-20 19:10:34

建议:
移动硬盘应该被识别为 SCSI 设备,也就是 sd0 之类的设备。如果设为 hd0,内核就会认为根文件系统位于 IDE 设备上,就无法启动。另外 BIOS 里必须设置为从 usb 设备启动。给内核加上 rootdelay 参数建议使用(改 grub 的 menu.lst 文件)。

woolzey 发表于 2006-4-20 19:51:20

grub不论IDE还是SCSI,都是hd,如果要区分,得对grub动手术了。

而且似乎也没这个必要,毕竟grub读写磁盘好像是通过BIOS,和kernel无关。不见得就能区分出SCSI还是IDE。

等到核心mount根文件系统的时候,已经和grub无关了,在menu.lst里面的设置是不会影响到这个时候的。

建议:
移动硬盘应该被识别为 SCSI 设备,也就是 sd0 之类的设备。如果设为 hd0,内核就会认为根文件系统位于 IDE 设备上,就无法启动。另外 BIOS 里必须设置为从 usb 设备启动。给内核加上 rootdelay 参数建议使用(改 grub 的 menu.lst 文件)。

woolzey 发表于 2006-4-20 21:02:55

终于实验成功了。模块和延迟都需要。

首先正常把Magic Liunx 2.0安装到移动硬盘上。

然后用光盘启动到rescue模式,或者其他linux系统。mount上移动硬盘。

假设mount在/tmp/usb下。那么先修改grub的配置,把/tmp/usb/boot/grub/menu.lst里面所有的(hdX,Y)(我的是(hd1,0))全部改成(hd0,Y)(我改成(hd0,0))。然后找下面的initrd....改成initrd usb.img。这个usb.img就是我们下面要做的新的initrd。

然后chroot /tmp/usb
修改/sbin/mkinitrd,在echo "mkrootdev /dev/root" >> $RCFILE前面加一行echo "sleep 10" >> $RCFILE
执行mkinitrd --preload=ehci-hcd /boot/usb.img 2.6.15.3就生成新的initrd了。

退出chroot,umount。然后就可以重启了。

主要的修改是在initrd里面加入ehci-hcd这个模块,建议以后这个可以直接编译到核心里面。另外在创建根文件系统的时候延迟了10秒,这个10秒在我的机器上可以,不同的机器上或许会不一样。

KDE 发表于 2006-4-20 21:46:03

感谢你!

tyfrlj 发表于 2006-4-20 22:25:22

可以这样做

先在硬盘上编译包含必要驱动的内核,包括usb和scsi的驱动及其它必要的驱动等,而不是把这些驱动编译成模块,其它驱动可以编译为模块

把编译好的内核复制到U盘或移动硬盘上,修改引导配置文件,给内核加上延迟参数rootdelay=,如grub:
kernel /boot/vmlinuz-2.6.13.4 ro root=/dev/sda3 rootdelay=5 vga=791 splash=slient

Grub可以安装在U盘或移动硬盘的MBR
页: [1] 2
查看完整版本: 请问怎么把linuxmagic2.0安装到USB移动硬盘上阿