[问题]关于不支持从usb存储设备启动的机器
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: [问题]关于不支持从usb存储设备启动的机器
澄清一下。我这个思路是可行的。原来我把uuid写错了。刚才重新写了一下,内置硬盘和移动硬盘的ubuntu都起来了。billbear 写了: 我还试过另一种方法,在U盘里做一个小的FAT分区,光盘里做一个dos,在dos里加载USB驱动,然后到U盘FAT分区里运行linld(类似于以前的loadlin,但是loadlin早就不能加载如今的内核了),加载也拷在FAT分区里的内核。但是ubuntu起到一半就死掉了,不知道为什么。linld最后更新是在2004年,皮体。
我是这样测试的,刻了一张freedos,然后在内置硬盘的FAT分区里拷了linld.com,vmlinuz,initrd,写了一个.bat的dos批处理文件,
linld image=vmlinu~1.24- initrd=initrd~1.24- "cl=root=UUID=。。。 ro"
dos下的文件是只能看到8.3的
从freedos cd启动,运行FAT分区里的批处理。成功。
下一步就是把usb驱动刻在cd里,把linld和内核拷到u盘的fat上,启动cd,直接到u盘运行linld。应该可行。如果可行,就可以把cd量产到u盘里,只要用u盘启动了。看到一丝曙光。
可能的问题:freedos启动时只加载了himem。如果加载emm386,运行linld立刻就重启。就怕加载了usb驱动之后也这样。
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
我不太知道哪里有dos 的usb 驱动,通用性如何,以及如何把它整合到freedos里头做成另一张可启动的光盘。
谁给我发一张做好的iso,包含usb驱动的dos启动光盘,好让我继续下一步测试。谢谢。
有兴趣的同学可以测试linld可靠性如何
linld.com在这里下载
http://busybox.net/~vda/linld/
谁给我发一张做好的iso,包含usb驱动的dos启动光盘,好让我继续下一步测试。谢谢。
有兴趣的同学可以测试linld可靠性如何
linld.com在这里下载
http://busybox.net/~vda/linld/
- muzuiget
- 帖子: 1097
- 注册时间: 2007-12-31 14:57
新版的Slax光盘中有个loadlin,不知道是不是同一件东西,loadlin v1.6billbear 写了:我不太知道哪里有dos 的usb 驱动,通用性如何,以及如何把它整合到freedos里头做成另一张可启动的光盘。
谁给我发一张做好的iso,包含usb驱动的dos启动光盘,好让我继续下一步测试。谢谢。
有兴趣的同学可以测试linld可靠性如何
linld.com在这里下载
http://busybox.net/~vda/linld/
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
再来试一下移动硬盘插上后ls
set debug=all
set pager=1
ls
信息有一页多,根据输出的信息看,读(hd0)出了问题,然后就退出了,没有继续读hd1. hd0应该是移动硬盘没错。另外一块单分区小u盘读正常。还有一块8G的u盘,一部分量产为cd,cd部分看到了,剩下的u盘没看到,说明一下,量产以后剩下的u盘好像不是usb-hdd了,可能是zip。我胡乱说一下,能不能不叫(hd0) 叫 (usb0)看得清晰一些,当我没说。
移动硬盘说明一下,当时是在os x下用磁盘工具分区,选的mbr格式,然后选的4个分区,做成hfs/hfs/fat/空白,当然都是主分区。然后在空白里装ubuntu,做成扩展分区,里面/,/home,swap.
我注意到linux下看到32楼3个主分区前一个分区的末尾和后一个分区的起始是重叠的。而在os x下看
Last login: Wed Jun 4 01:09:14 on ttys000
bill-beardemacbook:~ billbear$ fdisk /dev/rdisk1
Disk: /dev/rdisk1 geometry: 19457/255/63 [312581808 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
*1: AF 0 1 1 - 1023 254 63 [ 63 - 17039360] HFS+
2: AF 1023 254 63 - 1023 254 63 [ 17039484 - 63176704] HFS+
3: 0B 1023 254 63 - 1023 254 63 [ 80216199 - 167772160] Win95 FAT-32
4: 05 1023 254 63 - 1023 254 63 [ 247995405 - 64581300] Extended DOS
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 83 1023 254 63 - 1023 254 63 [ 247995468 - 29286432] Linux files*
2: 05 1023 254 63 - 1023 254 63 [ 277281900 - 33206355] Extended DOS
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 83 1023 254 63 - 1023 254 63 [ 277281963 - 33206292] Linux files*
2: 05 1023 254 63 - 1023 254 63 [ 310488255 - 2088450] Extended DOS
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 82 1023 254 63 - 1023 254 63 [ 310488318 - 2088387] Linux swap
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
bill-beardemacbook:~ billbear$
似乎不但没有重叠,还有些许间隔。可能os x不适合给磁盘做MBR格式的分区?但是使用没有任何问题。是leopard。
所以,也许是我的磁盘分区表有点古怪。你可以试着按我的步骤分一下看看。
set debug=all
set pager=1
ls
信息有一页多,根据输出的信息看,读(hd0)出了问题,然后就退出了,没有继续读hd1. hd0应该是移动硬盘没错。另外一块单分区小u盘读正常。还有一块8G的u盘,一部分量产为cd,cd部分看到了,剩下的u盘没看到,说明一下,量产以后剩下的u盘好像不是usb-hdd了,可能是zip。我胡乱说一下,能不能不叫(hd0) 叫 (usb0)看得清晰一些,当我没说。
移动硬盘说明一下,当时是在os x下用磁盘工具分区,选的mbr格式,然后选的4个分区,做成hfs/hfs/fat/空白,当然都是主分区。然后在空白里装ubuntu,做成扩展分区,里面/,/home,swap.
我注意到linux下看到32楼3个主分区前一个分区的末尾和后一个分区的起始是重叠的。而在os x下看
Last login: Wed Jun 4 01:09:14 on ttys000
bill-beardemacbook:~ billbear$ fdisk /dev/rdisk1
Disk: /dev/rdisk1 geometry: 19457/255/63 [312581808 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
*1: AF 0 1 1 - 1023 254 63 [ 63 - 17039360] HFS+
2: AF 1023 254 63 - 1023 254 63 [ 17039484 - 63176704] HFS+
3: 0B 1023 254 63 - 1023 254 63 [ 80216199 - 167772160] Win95 FAT-32
4: 05 1023 254 63 - 1023 254 63 [ 247995405 - 64581300] Extended DOS
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 83 1023 254 63 - 1023 254 63 [ 247995468 - 29286432] Linux files*
2: 05 1023 254 63 - 1023 254 63 [ 277281900 - 33206355] Extended DOS
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 83 1023 254 63 - 1023 254 63 [ 277281963 - 33206292] Linux files*
2: 05 1023 254 63 - 1023 254 63 [ 310488255 - 2088450] Extended DOS
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 82 1023 254 63 - 1023 254 63 [ 310488318 - 2088387] Linux swap
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
bill-beardemacbook:~ billbear$
似乎不但没有重叠,还有些许间隔。可能os x不适合给磁盘做MBR格式的分区?但是使用没有任何问题。是leopard。
所以,也许是我的磁盘分区表有点古怪。你可以试着按我的步骤分一下看看。
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
loadlin应该是古董了,好像没法引导超过一定尺寸的内核。如今的内核对他都太大,据我所知muzuiget 写了:新版的Slax光盘中有个loadlin,不知道是不是同一件东西,loadlin v1.6billbear 写了:我不太知道哪里有dos 的usb 驱动,通用性如何,以及如何把它整合到freedos里头做成另一张可启动的光盘。
谁给我发一张做好的iso,包含usb驱动的dos启动光盘,好让我继续下一步测试。谢谢。
有兴趣的同学可以测试linld可靠性如何
linld.com在这里下载
http://busybox.net/~vda/linld/
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
-
- 帖子: 238
- 注册时间: 2008-06-03 12:25
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
现在我的grub.cfg:
menuentry "test"
{
set root=(hd0,9)
linux /boot/vmlinuz-2.6.24-16-generic root=/dev/sda9 ro
initrd /boot/initrd.img-2.6.24-16-generic
}
menuentry "leo"
{
set root=(hd0,5)
chainloader /usr/standalone/i386/boot.efi
}
现在chainloader成功进入OS X
但是linux还是没有起来
Booting 'test'
Linux-EFI,setup=0x2a00,size=0x1ce278
Initrd,addr=0x7c80f000,size=0x7825b0
然后死在那里了,内核没有起来
bean再帮我看一下
menuentry "test"
{
set root=(hd0,9)
linux /boot/vmlinuz-2.6.24-16-generic root=/dev/sda9 ro
initrd /boot/initrd.img-2.6.24-16-generic
}
menuentry "leo"
{
set root=(hd0,5)
chainloader /usr/standalone/i386/boot.efi
}
现在chainloader成功进入OS X
但是linux还是没有起来
Booting 'test'
Linux-EFI,setup=0x2a00,size=0x1ce278
Initrd,addr=0x7c80f000,size=0x7825b0
然后死在那里了,内核没有起来
bean再帮我看一下
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
以下来自 ubuntu 8.04 软件源中 loadlin 的软件包描述billbear 写了:loadlin应该是古董了,好像没法引导超过一定尺寸的内核。如今的内核对他都太大,据我所知muzuiget 写了:新版的Slax光盘中有个loadlin,不知道是不是同一件东西,loadlin v1.6billbear 写了:我不太知道哪里有dos 的usb 驱动,通用性如何,以及如何把它整合到freedos里头做成另一张可启动的光盘。
谁给我发一张做好的iso,包含usb驱动的dos启动光盘,好让我继续下一步测试。谢谢。
有兴趣的同学可以测试linld可靠性如何
linld.com在这里下载
http://busybox.net/~vda/linld/
[/quote]a loader (running under DOS) for LINUX kernel images
LOADLIN-1.6 is highly adaptable to different DOS configurations, and now
has very few loading restrictions. It makes use of extended memory and
also can load big kernels (bzImages) and ramdisk images (initrd)
directly high.
LOADLIN also can load out of Virtual-86 mode (which is normal when
using EMS drivers) if a VCPI server is present.
The loadlin package also includes the freeramdisk program, which can
return memory to the system when a ramdisk is no longer needed.
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
成功了! 用 kexec-tools !
kexec-tools 的说明:
kexec tool
This tool is used to load a kernel in memory and reboot into the kernel loaded in memory using the kexec system call.
安装kexec-tools 后,用以下命令从当前 ubuntu 启动到了另一个ubuntu:
kexec -l vmlinuz-2.6.24-16-generic --append=root=/dev/sda6 ro --initrd=initrd.img-2.6.24-16-generic
kexec -e
经验:当前的 ubuntu 不能运行X,否则启动另一 ubuntu 后将无法启动 X
可以做一张 ubuntu live cd (装有 kexec-tool) ,从光盘启动它,认到u盘后,通过 kexec 命令,进一步启动u盘中的 ubuntu
kexec-tools 的说明:
kexec tool
This tool is used to load a kernel in memory and reboot into the kernel loaded in memory using the kexec system call.
安装kexec-tools 后,用以下命令从当前 ubuntu 启动到了另一个ubuntu:
kexec -l vmlinuz-2.6.24-16-generic --append=root=/dev/sda6 ro --initrd=initrd.img-2.6.24-16-generic
kexec -e
经验:当前的 ubuntu 不能运行X,否则启动另一 ubuntu 后将无法启动 X
可以做一张 ubuntu live cd (装有 kexec-tool) ,从光盘启动它,认到u盘后,通过 kexec 命令,进一步启动u盘中的 ubuntu