当前位置: 技术问答>linux和unix
为什么我安装了Linux而不能启动Linux呢?
来源: 互联网 发布时间:2015-02-04
本文导语: 我在安装时都是很顺利地没有出现过什么错误就安装完了,在安装过程中我选择了GRUB引导程序,但安装完系统重启时却没有出现GRUB的引导界面而直接进入了Windows引导界面(之前我的电脑已经安装了98+2000两个系统了...
我在安装时都是很顺利地没有出现过什么错误就安装完了,在安装过程中我选择了GRUB引导程序,但安装完系统重启时却没有出现GRUB的引导界面而直接进入了Windows引导界面(之前我的电脑已经安装了98+2000两个系统了),我想可能是由于我在安装时选择了把引导程序安装在根分区上的第一扇区而没有安装在MBR(但我以前也尝试过不安装在MBR上也是可以启动的),现在有什么办法可以启动Linux的吗,我是需要重新安装一次把引导程序安装在MBR上吗?
|
1、
loadlin lin* root=/dev/hd* ro ?
把loadlin.exe copy到win98的命令文件夹中,如c:;c:windows;c:windowscommand。
lin* 代表linux的内核,你要把内核文件放在c:下。这个内核文件可以从光盘上copy。
hd*代表你的linux分区,/dev/hda1 表示第一个IDE接口连接的设备(比如硬盘)的第一个分区,/dev/hdb7表示第二个IDE接口连接的设备的第七个分区,/dev/hdd表示第四个IDE接口连接的设备(比如光驱)。
ro是loadlin的一个参数,表示以只读方式挂载根分区。
ro后的?是一个数字,可以不写,它代表运行级别,就是init参数,3是普通文本模式,5是普通图形模式;千万不要写成0或6!否则你一开机就会关机或重启。
编辑autoexec.bat,把第一行的命令加进去。看你的分区你可能要这样写:
loadlin vmlinuz root=/dev/hda3 ro 5
注意,要保证内核名字于命令行里的一致(如上面就是vmlinuz)。在DOS下直接敲入命令也一样。
如果你把内核、loadlin.exe copy到win98启动盘,在改好盘里的autoexec.bat,你就可以用它直接引导linux了。如果你对DOS的批处理很熟悉的话,你可以打造出一个非常漂亮的win98多重引导。loadlin还有好多参数,你可以查看它的文档。
2、
看来你已经引导到linux里了。首先,你要保证你的linux分区/dev/hda3已经lilo过了。
less /etc/lilo.conf
看到有一行:
boot=/dev/hda?
确认hda?是hda3。运行命令:
lilo
dd if=/dev/hda3 of=boot.sec bs=512 count=1
把boot.sec copy到c:
在c:boot.ini中加入c:boot.sec="Linux"
win2k就可以引导linux了。这里提一下,boot.sec是一个二进制文件,是分区的超级块的映像,文件名可以任意取,只要保证你的文件名合法。如果你在linux下重新lilo过,你要重新生产这个二进制文件。
3、
光盘引导以debian为例。在cmos里设置从光盘引导,放入linux光盘,引导到出现
boot:
仔细看显示的信息,你可以得到如何从光盘引导到你硬盘里的linux系统的方法。debian这时显示了这段话:
This is a Debian CD-ROM. Keep it available once you have installed
your system, as you can boot from it to repair the system on your hard
disk if that ever becomes necessary (press for details).
所以我按下键。从接下来的信息看,要引导到硬盘里的linux,我需要敲入:
rescue root=/dev/hda3
这就是紧急情况下引导linux的三种办法。
loadlin lin* root=/dev/hd* ro ?
把loadlin.exe copy到win98的命令文件夹中,如c:;c:windows;c:windowscommand。
lin* 代表linux的内核,你要把内核文件放在c:下。这个内核文件可以从光盘上copy。
hd*代表你的linux分区,/dev/hda1 表示第一个IDE接口连接的设备(比如硬盘)的第一个分区,/dev/hdb7表示第二个IDE接口连接的设备的第七个分区,/dev/hdd表示第四个IDE接口连接的设备(比如光驱)。
ro是loadlin的一个参数,表示以只读方式挂载根分区。
ro后的?是一个数字,可以不写,它代表运行级别,就是init参数,3是普通文本模式,5是普通图形模式;千万不要写成0或6!否则你一开机就会关机或重启。
编辑autoexec.bat,把第一行的命令加进去。看你的分区你可能要这样写:
loadlin vmlinuz root=/dev/hda3 ro 5
注意,要保证内核名字于命令行里的一致(如上面就是vmlinuz)。在DOS下直接敲入命令也一样。
如果你把内核、loadlin.exe copy到win98启动盘,在改好盘里的autoexec.bat,你就可以用它直接引导linux了。如果你对DOS的批处理很熟悉的话,你可以打造出一个非常漂亮的win98多重引导。loadlin还有好多参数,你可以查看它的文档。
2、
看来你已经引导到linux里了。首先,你要保证你的linux分区/dev/hda3已经lilo过了。
less /etc/lilo.conf
看到有一行:
boot=/dev/hda?
确认hda?是hda3。运行命令:
lilo
dd if=/dev/hda3 of=boot.sec bs=512 count=1
把boot.sec copy到c:
在c:boot.ini中加入c:boot.sec="Linux"
win2k就可以引导linux了。这里提一下,boot.sec是一个二进制文件,是分区的超级块的映像,文件名可以任意取,只要保证你的文件名合法。如果你在linux下重新lilo过,你要重新生产这个二进制文件。
3、
光盘引导以debian为例。在cmos里设置从光盘引导,放入linux光盘,引导到出现
boot:
仔细看显示的信息,你可以得到如何从光盘引导到你硬盘里的linux系统的方法。debian这时显示了这段话:
This is a Debian CD-ROM. Keep it available once you have installed
your system, as you can boot from it to repair the system on your hard
disk if that ever becomes necessary (press for details).
所以我按下键。从接下来的信息看,要引导到硬盘里的linux,我需要敲入:
rescue root=/dev/hda3
这就是紧急情况下引导linux的三种办法。
|
如果做了linux启动盘就好办了。
用linux启动盘引导进入linux,在root下创建一个bootselect.lnx文件。
# dd if=/dev/ha2(你的linux分区) of=/bootselect.lnx bs=512 count=1
然后将这个文件拷贝到一张fat格式的软盘上,重起进入windows,将文件拷贝到C:,并在boot.ini中添加一行并保存:
C;bootselect.lnx="linux"
这样就可以用windows的OS loader来启动
用linux启动盘引导进入linux,在root下创建一个bootselect.lnx文件。
# dd if=/dev/ha2(你的linux分区) of=/bootselect.lnx bs=512 count=1
然后将这个文件拷贝到一张fat格式的软盘上,重起进入windows,将文件拷贝到C:,并在boot.ini中添加一行并保存:
C;bootselect.lnx="linux"
这样就可以用windows的OS loader来启动