QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 655|回复: 8

求助: 谁有更好的方法能把Linux项加载到NTloader

[复制链接]
发表于 2003-6-13 17:49:15 | 显示全部楼层 |阅读模式
我的机子上安装了windows2000+98

以及redhat8.0和freeBSD5.0

我成功的从NTloader里启动freeBSD(用Winhex)

但这对linux不起作用,因为找不到linux真正的启动扇区(我用winhex找到的启动扇区 是一片空白,不知道为什么)

各位谁有更好的方法能把Linux项加载到NTloader里??或者知道linux的启动扇区的真正位置~~请不吝赐教~~~

同时对我说得这种方法感兴趣的话也欢迎你和我取得联系~~~

[email protected]
发表于 2003-6-13 17:58:22 | 显示全部楼层
问题是你的rh8.0是装的什么启动器,装在哪
回复

使用道具 举报

发表于 2003-6-13 22:54:17 | 显示全部楼层

Re: 求助: 谁有更好的方法能把Linux项加载到NTloader

[quote:fad8b52737="reebird"]我的机子上安装了windows2000+98

以及redhat8.0和freeBSD5.0

我成功的从NTloader里启动freeBSD(用Winhex)

但这对linux不起作用,因为找不到linux真正的启动扇区(我用winhex找到的启动扇区 是一片空白,不知道为什么)

各位谁有更好的方法能把Linux项加载到NTloader里??或者知道linux的启动扇区的真正位置~~请不吝赐教~~~

同时对我说得这种方法感兴趣的话也欢迎你和我取得联系~~~

[email protected][/quote]
假设你把/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了。
回复

使用道具 举报

 楼主| 发表于 2003-6-14 18:02:09 | 显示全部楼层
刚试了你说的办法,  好像不行啊,

可能是我不太明白你的意思:

我现在的linux区是这样的:  一个3.5g,化为"/",一个500m化为SWAP区

boot文件夹就在/下,

怎么弄啊??

我试过dd if=/ of=/mnt/win_c/bootsect.lnx bs=512 count=1

不过系统报告说 /是个directory

然后得到的bootsect.lnx 是个空文件~~
回复

使用道具 举报

发表于 2003-6-14 18:10:51 | 显示全部楼层
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重装一下就行,这方面的东东论坛里多了
回复

使用道具 举报

 楼主| 发表于 2003-6-16 09:10:19 | 显示全部楼层
刚试了一下,好像还是不行啊~~~能具体点吗??
回复

使用道具 举报

发表于 2003-6-16 10:14:58 | 显示全部楼层
#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   Id  System
/dev/hda1   *         1       653   5245191    7  HPFS/NTFS
/dev/hda2           654      1307   5253255   83  Linux
/dev/hda3          1308      4865  28579635    f  Win95 Ext'd (LBA)
/dev/hda5          1308      2091   6297448+   7  HPFS/NTFS
/dev/hda6          2092      2876   6305481   83  Linux
/dev/hda7          2877      3661   6305481    b  Win95 FAT32
/dev/hda8          3662      4577   7357738+   b  Win95 FAT32
/dev/hda9          4578      4642    522081   82  Linux swap
/dev/hda10         4643      4865   1791216    7  HPFS/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",引号里的东西可以随便)
回复

使用道具 举报

发表于 2003-6-16 12:55:59 | 显示全部楼层
非常的不麻烦。

在Linux下执行“lilo -s xxx.dat”。
我执行的是“lilo -s lilo.dat”。

然后拷到Windows分区。
我的拷到了“/mnt/MSW98/boot”。

修改“boot.ini”,添加Linux选项。
重新启动系统,在NT引导菜单里,就有了“Main Boot Record”的项目。

[code:1]
[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"
[/code:1]
回复

使用道具 举报

发表于 2003-6-16 13:02:42 | 显示全部楼层
补充说明:

已经实践。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-19 16:43 , Processed in 0.044898 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表