求助: 谁有更好的方法能把Linux项加载到NTloader
我的机子上安装了windows2000+98以及redhat8.0和freeBSD5.0
我成功的从NTloader里启动freeBSD(用Winhex)
但这对linux不起作用,因为找不到linux真正的启动扇区(我用winhex找到的启动扇区 是一片空白,不知道为什么)
各位谁有更好的方法能把Linux项加载到NTloader里??或者知道linux的启动扇区的真正位置~~请不吝赐教~~~
同时对我说得这种方法感兴趣的话也欢迎你和我取得联系~~~
[email protected] 问题是你的rh8.0是装的什么启动器,装在哪
Re: 求助: 谁有更好的方法能把Linux项加载到NTloader
我的机子上安装了windows2000+98以及redhat8.0和freeBSD5.0
我成功的从NTloader里启动freeBSD(用Winhex)
但这对linux不起作用,因为找不到linux真正的启动扇区(我用winhex找到的启动扇区 是一片空白,不知道为什么)
各位谁有更好的方法能把Linux项加载到NTloader里??或者知道linux的启动扇区的真正位置~~请不吝赐教~~~
同时对我说得这种方法感兴趣的话也欢迎你和我取得联系~~~
[email protected]
假设你把/boot分区放在/dev/hdax,那么,运行
dd if=/dev/hdax of=/mnt/win_c/bootsect.lnx bs=512 count=1
提取bootsect(假设你的win的 c 盘mount到了/mnt/win_c),修改/mnt/win_c/boot.ini文件,在里面加入C:\bootsect.lnx="linux"这一行(记住最后加一个回车),重启就ok了。 刚试了你说的办法,好像不行啊,
可能是我不太明白你的意思:
我现在的linux区是这样的:一个3.5g,化为"/",一个500m化为SWAP区
boot文件夹就在/下,
怎么弄啊??
我试过dd if=/ of=/mnt/win_c/bootsect.lnx bs=512 count=1
不过系统报告说 /是个directory
然后得到的bootsect.lnx 是个空文件~~ dd if=/dev/hda* of=/linux.sec bs=512 count=1
hda*是你的linux分区号,你如果不知道,可以用fdisk /dev/hda看一下,p是显示你的分区情况,q是退出.
生成的linux.sec就在你当前的目录下,把它复制到windows的C:下,再修改boot.ini
grub或lilo一定要装在linux引导分区的第一个扇区,不可以在mbr
如果没有装,再把grub重装一下就行,这方面的东东论坛里多了 刚试了一下,好像还是不行啊~~~能具体点吗?? #grub
grub> root (hd0, //在这里按Tab键就可以显示下表,选择linux引导分区我分区号,我的分区号为1
Possible partitions are:
Partition num: 0,Filesystem type unknown, partition type 0x7
Partition num: 1,Filesystem type is ext2fs, partition type 0x83
Partition num: 4,Filesystem type unknown, partition type 0x7
Partition num: 5,Filesystem type is ext2fs, partition type 0x83
Partition num: 6,Filesystem type is fat, partition type 0xb
Partition num: 7,Filesystem type is fat, partition type 0xb
Partition num: 8,Filesystem type unknown, partition type 0x82
Partition num: 9,Filesystem type unknown, partition type 0x7
grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0,1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,1)"... failed (this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,1)"... failed (this is not fatal)
Running "install /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/grub.conf "... succeeded
Done.
grub>quit
这样就把grub安在了linux引导分区的第一个扇区,然后
# fdisk /dev/hda
The number of cylinders for this disk is set to 4865.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p //p为显示分区的情况
Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks IdSystem
/dev/hda1 * 1 653 5245191 7HPFS/NTFS
/dev/hda2 654 1307 5253255 83Linux
/dev/hda3 1308 486528579635 fWin95 Ext'd (LBA)
/dev/hda5 1308 2091 6297448+ 7HPFS/NTFS
/dev/hda6 2092 2876 6305481 83Linux
/dev/hda7 2877 3661 6305481 bWin95 FAT32
/dev/hda8 3662 4577 7357738+ bWin95 FAT32
/dev/hda9 4578 4642 522081 82Linux swap
/dev/hda10 4643 4865 1791216 7HPFS/NTFS
Command (m for help): q //退出
比如我的linux引导分区是hda2就执行
#dd if=/dev/hda2 of=linux.sec bs=512 count=1
执行这步就会输出linux.sec这个文件,就在你当前的目录下,把它复制到windows的C盘下,再修改boot.ini就可以了。(最后一行加上c:\linux.sec="linux",引号里的东西可以随便) 非常的不麻烦。
在Linux下执行“lilo -s xxx.dat”。
我执行的是“lilo -s lilo.dat”。
然后拷到Windows分区。
我的拷到了“/mnt/MSW98/boot”。
修改“boot.ini”,添加Linux选项。
重新启动系统,在NT引导菜单里,就有了“Main Boot Record”的项目。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(9)\WINNT
[operating systems]
C:\boot\lilo.dat = "Main Boot Record"
multi(0)disk(0)rdisk(0)partition(9)\WINNT="Micro$oft Window$ 2000 Professional" /fastdetect
C:\ = "Micro$oft Window$98 $E"
补充说明:
已经实践。
页:
[1]