QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6957|回复: 18

请问如何用DD来使WIN引导LINUX

[复制链接]
发表于 2003-1-20 11:06:03 | 显示全部楼层 |阅读模式
我最近新弄了一个硬盘,想把这个硬盘全部做为LINUX用
但是在开机的时候不想使用LILO引导
听说有DD这个命令可以把东西弄出来
然后放到C盘再在BOOT。INI里面加点东西就可以了
不知道有没有哪个高手知道具体怎么做?
谢谢
我要装LINUX的盘在第二个口的PRIMARY上!
谢谢
发表于 2003-1-20 11:16:41 | 显示全部楼层
你可以用金山之类的杀毒软件自带的磁盘MBR备份功能把LINUX的MBR备份一下。
然后就可以用Boot覆盖了。

例如:你备份的文件名是:  linux.dos
那么在BOOT .INI里加  c:\linux.dos="Linux"  就可以了~
回复

使用道具 举报

发表于 2003-1-20 11:35:30 | 显示全部楼层
First you have to boot linux, then do the following
Assuming that your Linux is installed on first IDE hard drive, /dev/hda

dd if=/dev/hda of=/bootsect.lnx bs=512 count=1

Then copy the file to a floppy.  Next boot Window$ and copy the file to C:

Next, add the following line to boot.ini
C:\BOOTSECT.LNX="Linux"

Next boot you will see the option for booting Linux.
回复

使用道具 举报

 楼主| 发表于 2003-1-20 12:40:40 | 显示全部楼层
我还没有装LINUX啊
但是我以前看到过别人用DD的
而且我觉得那样的方法很好的
不知道能不能告诉我如何用那样的方法实现
谢谢
回复

使用道具 举报

 楼主| 发表于 2003-1-20 18:52:40 | 显示全部楼层
明白了
谢谢各位!
回复

使用道具 举报

发表于 2003-1-20 21:36:02 | 显示全部楼层
我的四个扩展分区依序是DOS分区,Linux分区,FreeBSD分区,Windows 98分区。Windows 2000不能识别Linux与FreeBSD分区并自动支持多启动,肯定需要自己动手。由于Windows 2000允许通过将其他扩展分区的头512个字节存储在文件中作为引导选择,所以不论它是否"认识"其他操作系统,都可以支持多重引导。

  注意:DOS的fdisk在这里颇不顺手,Linux和FreeBSD的分区工具似乎好用得多。如果没有把握的话,Linux分区划在前8G比较保险。

  安装的顺序可以参考如下:先装DOS,再装Windows 98,再装Linux,LILO安装在他自己的分区上(由于还要分Wrap分区,通常hda2被割成多个分区,LILO会被安装在hda5上),再装FreeBSD,选择不装Boot Manager,最后安装Windows 2000。

  也许你会认为,将LILO安装到hda5而不是hda上将不能完成Linux的安装。其实没有关系,由于事先安装了DOS,可以从DOS命令行上运行Loadlin进入Linux,通常这些工具安装光盘上都有,并附有说明的。

  现在四个操作系统都装好了,Windows 2000会支持Windows 98,进了Windows 98就能选择进入DOS。那么现在如何获取另两个扩展分区的头扇区来做支持Linux与FreeBSD的多启动呢?

  建议使用Linux或FreeBSD的DD命令。设Linux的根目录在hda5,FreeBSD安装在hda3上,在Linux下运行

  dd bs=512 count=1 if=/dev/hda5 of=bootsect.lnx
  dd bs=512 count=1 if=/dev/hda3 of=bootsect.bsd

  然后再mount到DOS分区,将bootsect.lnx与bootsect.bsd拷贝到C盘根目录下,就基本上大功告成了。

  最后进入Windows 2000,编辑C盘根目录下的boot.ini文件,加入以下两行:

  C:BOOTSECT.LNX="Linux"
  C:BOOTSECT.BSD="FreeBSD"

  然后就可以重新启动。

  
回复

使用道具 举报

发表于 2003-1-21 11:54:18 | 显示全部楼层

惭愧,拷来的,请大家共赏!

Windows 98和Windows NT各有其优缺点,Windows 98支持即插即用和更多的硬件,Windows NT具有较好的性能和稳定性,其工作站版本是当前较好的桌面操作系统,而Linux是免费、开放源码的操作系统,受到广大电脑爱好者的喜爱。那么怎样实现它们的多选择启动呢?我们知道,磁盘的引导扇区的内容决定了系统启动的方式,但是在多系统引导的情况下,引导扇区的内容又取决于各系统安装的顺序。Windows NT和linux都有它们自己的引导管理器,Windows NT 的引导管理器OS loader 希望来自其它操作系统的引导扇区变成一文件来取用.它读入这文件并启动选择的操作系统,其过程是NT引导扇区运行时装入NTLDR,由NTLDR根据用户的不同选择执行不同的引导扇区文件来完成的。因此,我们只要找到所有要启动操作系统的引导扇区文件即可完成操作系统的启动。现有如下配置的计算机:
CPU:Intel Pentium 166MHz
内存:32M
硬盘:IDE 8.4G
在i386平台上硬盘分区有两种类型:主分区和扩展分区。每个硬盘可有四个主分区,但其中只有一个可作为引导分区,即活动分区。如果使用扩展分区(每个硬盘只能有一个扩展分区),则主分区最多只能有三个。每个扩展分区可进一步分为四个逻辑分区,逻辑分区不能作为引导分区。对于IDE接口硬盘,由于BIOS限制,引导分区只能在硬盘前1024柱面内。Linux系统最少要有两个分区(根分区及交换分区),由于NT的引导管理器使用的文件和Windows 98启动文件必须放在活动分区(C盘),而且NT当前版本还不支持FAT32,因此C盘必须是FAT格式且有足够空间。因此硬盘可分为三个主分区和一个扩展分区(进一步分为三个逻辑分区),具体如下:
主分区1:500M,作引导分区,存放NT的引导管理器使用的文件和Windows 98系统的启动文件 FAT格式
主分区2:1.5G,Windows 98系统 FAT或 FAT32格式
主分区3:1.5G,Windows NT 系统 NTFS格式
扩展分区:
逻辑分区1:3G, Windows NT 的应用程序 NTFS格式
逻辑分区2:1.8G,作linux根分区
逻辑分区3:100M,作linux的交换分区
本系统假设大部分应用在NT平台上,根据具体应用情况,各系统分配的磁盘空间作相应调整。
在安装的时候应遵循如下步骤:
1. 用Windows 98启动软盘启动计算机并建立上述各分区。
2. 然后FORMAT C:/S
3. 安装Windows NT并将其配置成多选择启动。
4. 安装Windows 98
5. 安装Linux(以RedHat为例)
从软盘上启动 Linux,建立根目录分区和交换分区,当你做到安装 Lilo 的部分时,生成Linux启动盘(这很重要,否则你将不能启动Linux),指定引导程序放在 Linux 根目录分区,因为硬盘的主引导记录(MBR)现在是 Windows NT 所有.因为BIOS的限制,对于IDE硬盘,引导分区应包含在硬盘前1024柱面内,当Linux根目录分区在1024柱面外时,安装到这一步时可能出错(根据笔者的经验),你可忽略它,如果出现这种情况,引导程序没有写到Linux 引导分区(即根目录分区)的引导扇区中,则用Linux启动软盘启动Linux,调用linuxconf配置Lilo选项,可将引导程序写到Linux 引导分区的引导扇区中。
5. 用Linux启动软盘启动系统,从Linuxy引导分区取出引导扇区,把它写到一文件中,在Linux系统下运行以下命令:
dd if=/dev/hda6 of=/boot/bootsect.lnx bs=512 count=1
产生bootsect.lnx,在/目录下
将文件 bootsect.lnx 拷贝到一片 DOS 格式化过的软盘中.
你可以这样来拷贝
# mount -t msdos /dev/fd0 /mnt
# copy /bootsect.lnx /mnt
# umount /mnt
6. 修改Windows NT 部分
(1)从软盘上将文件bootsect.lnx拷贝到 C:\.
(2)用一编辑器更改 C:\boot.ini 文件, 像这样:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation..."
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation..."
C:\="Microsoft Windows 98"
C:\BOOTSECT.LNX="Linux"
在本例中只加入了最后一行.
(3)重新启动计算机将会出现如下多重选择启动菜单:
Windows NT Workstation Version 4.0
Windows NT Workstation Version 4.0 [VGA mode]
Microsoft Windows 98
Linux
根据选择,将启动不同的操作系统,从而实现了多操作系统的启动选择.
(4)每次Linux根目录分区的引导扇区被修改后,必须重新取出引导扇区,把它拷贝到C:\BOOTSECT.LNX.一个例子是当你重新用 lilo 安装一新的内核时。
回复

使用道具 举报

发表于 2003-1-22 10:47:42 | 显示全部楼层
多系统共存

一,用LILO管理启动
如果要同时安装win98,win2000,linux多系统,建议安装顺序:
win98-->win2000-->linux
这样Lilo可以一次全部抓到,但lilo必须安装在第一个主分区,即c盘,安装linux之前,最好先划分好linux主分区和Linux swap分区,可使用pqmagic分区大师。
注意:
安装多系统时很容易破坏boot引导扇区,建议安装linux前先备份引导扇区,可使用kv300或rav dos工具进行备份,boot引导扇区被破坏后,可进行恢复,而不影响以前的操作系统。安装之前先要制作好linux boot引导盘

二,用NT OS Loader管理启动
NT OS Loader一定要占据第一个硬盘的MBR,需要把LILO安装在其他LINUX本机分区的第1个扇区,等待Linux安装完毕后,
用linux引导盘启动进入LINUX系统,于提示符下输入:
[root@hnxyy/root]# dd if=/dev/hda8 of=/bootsect.lnx bs=512 count=1
hda8:为我所安装的linux的主分区(hda1:为win2000所安装的主分区)
命令执行后,在/目录下生成一个名为bootsect.lnx的文件,将此文件复制到FAT格式的软盘上,以便让win2000读取。
[root@hnxyy/root]# mcopy /bootsect.lnx a已安装mtools套件)
[root@hnxyy/root]# mount /dev/fd0 /mnt/floppy   //加载软驱
[root@hnxyy/root]# cp /bootsect.lnx /mnt/floppy //复制文件
重新启动,进入win2000,将软盘上的bootsect.lnx复制到c:\
修改boot.ini文件:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server" /fastdetect
c:\bootsect.lnx="RedHat Linux7.2"    //需增加的行

启动计算机,在NT OS Loader的菜单下就有RedHat Linux7.2可供选择。
用NT OS Loader管理启动的好处:
由于把lilo安装在liunx的主分区,所以你在重新安装win2000的时候,不必考虑会破坏boot而导致linux无法启动,可以使用NT OS Loader菜单很方便的进入liunx系统,也可以随时去掉linux菜单选项,需要的时候再加上。
如果使用lilo管理启动,如果要重装系统,需要备份boot,否则会导致linux无法启动。
回复

使用道具 举报

发表于 2003-4-4 14:48:06 | 显示全部楼层

请教,DD 无法在2000 下引RedHat 7.0和8.0

安装有4个系统,98 2000 RatHat 7.0 /8.0(按顺序安装)

98 在hdb1,2000在hdb5,7.0在sda1,(lilo安装在MBR) 8.0在sda5(lilo安装在sda5 第一磁道(swap共用)

按大侠指导做了7.0和8.0的 bootsect.lnx 到boot.ini,结果2个都无法启动?我在7.0 的lilo.conf 添加了8.0 的引导,但在运行lilo时出错,7.0的内核(2.2.*.*)不支持8.0的ext3格式,不知是否要升级内核?

我的机子没有软驱,请大侠赐教!!!!!!
回复

使用道具 举报

发表于 2003-4-4 19:50:12 | 显示全部楼层
上面说的都不是很准确,用dd命令实质上是将lilo引导程序(占据512字节)导出,上面的例子中都说用dd来导出/分区的第一扇区,这对于/boot和/是同一分区的安装当然没问题,但如果你的/boot是单独划分的,而lilo是安装/boot的第一分区,那dd命令的对象就是/boot所在分区而不是/分区
最准确的说法是,用dd将lilo安装位置所在分区的头512字节导出,lilo安装到哪个分区,就dd哪个分区
回复

使用道具 举报

发表于 2004-4-8 22:33:18 | 显示全部楼层
放在第二快硬盘的mbr上行吗?
回复

使用道具 举报

发表于 2004-4-9 19:01:11 | 显示全部楼层

当然可以啊

[quote:82f926eb34="古剑和酒"]放在第二快硬盘的mbr上行吗?[/quote]
grub> map (hda) (hdb)
grub> map (hdb) (hda)
将硬盘在bios里置换一下就可以了
回复

使用道具 举报

发表于 2004-4-9 20:41:27 | 显示全部楼层
我打算是不装grub
用第三方分别选择引导2块硬盘
不知是否行得通
回复

使用道具 举报

发表于 2004-4-9 20:44:41 | 显示全部楼层
应该是可以的,说句实话用bootmagic之类还不如用grub,至少出了问题恢复时容易些。
回复

使用道具 举报

发表于 2004-4-9 20:46:10 | 显示全部楼层
古剑和酒,參考一下這個帖子:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=3771833&highlight=grub#3771833
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-28 10:49 , Processed in 0.065658 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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