Thursday, October 28, 2010

windows重装导致linux无法正常引导

准备捣鼓捣鼓系统,留资料备查

 1.
grub下输入以下命令行
root   (hd0,  ;在此可按下TAB键,看一下你的LINUX在哪个分区,我的是8
root   (hd0,8)
kernel  /boot/vmlinu    ;在此再次按TAB,
kernel  /boot/vmli.........    ro  root=LABEL=/   rhgb
initrd  /boot/initr        ;在此可按TAB,同上
boot

这样以后就又可以进入熟悉的linux了
进入linux后用root登陆,在命令行中输入
grub
进入grub
root  (hd0,8)
setup  (hd0)     ;  注意之间一定要有空格
quit

然后reboot以后就可以了
2.
windows重装无法进入linux,这也是常常碰到的一个问题,主要是因为windows太”霸“了,有它在就不太想人家在,所以如果后安装它的系统,那么就会把硬盘的mbr改写成只剩下它的操作系统。
解决办法首先要安装grub4dos。下载grub for dos, 这个SourceForge.net上可以下载。将下载的文件解压后放在c盘根目录下,修改C盘的隐藏文件boot.ini,在后面添加一行C:\grldr=”Boot Grub”。
接着重启计算机,进入系统前会有系统选择菜单,选择Boot Grub。此时将进入Grub界面。选择CommandLine进入Grub命令行。输入如下两条命令:
> root (hd0,2) > install /boot/grub/stage1 (hd0) (hd0)1+16 p /boot/grub/stage2 /boot/grub/menu.lst
注意的是,前面的那个(hd0,2)需要根据你linux安装的盘符改变,不知道你linux安装的盘符?请运行下面命令,你看看会有什么出来:
find /boot/grub/stage1
通过上面的步骤,就可以解决windows重装无法进入linux的情况。
3.
把grldr和menu.lst放到C盘根目录,然后修改boot.ini(什么?看不到c盘根目录boot.ini,那么请点击资源管理器菜单栏的工具->文件夹选项,再点查看,高级设置下面有一个选项:隐藏受保护的

操作系统文件(推荐),把前面的勾去掉,就可以了),在boot.ini最后添加一行:
C:\grldr=linux boot

grldr会搜索C盘根目录寻找menu.lst文件。

又到了menu.lst了,用记事本打开menu.lst,设置好vmlinuz和initrd路径,一般看起来是这样的:
title Linux
root (hd0,n) #[此处的hd0是假设你放linux在第一块硬盘上,n是放linux的第几个分区]
kernel /boot/vmlinuz ro root=LABEL=/
initrd /boot/initrd.img
Boot


可能不爽的地方:更新内核以后,需要手动同步Windows的C盘的menu.lst的内容。否则无法用新内核启动。
解决方法很简单,grub很强大,支持一条configfile的命令:
把你的C盘根目录的menu.lst改成
timeout 5
configfile (hd0,6)/grub/menu.lst
这样,grldr就会重新加载(hd0,6)/grub目录下的menu.lst,显示这个menu.lst的启动菜单。
爽吧!更新了内核也不用修改Windows下面的任何东西了。重装系统也不怕了。仅仅需要两个文件(grldr和menu.lst),修改一个文件(boot.ini),一切就都OK。
不想选择两次才进入linux,可以修改C盘根目录menu.lst的timeout为00. 
4.
BT4就是基于Ubuntu的嘛,网上ubuntu win7双引导的文章海了去了,照着做就ok了,会用GRUB4Dos就没什么难的。
其实就是 Win7--〉GRUB4DOS--〉BT4
必备软件:GRUB4DOS、BT4 LiveCD
1.下载最新的grub4dos,我下的是0.4.4版,http://download.gna.org/grub4dos/
2.下载BT4 LiveCD,打开ISO文件,把ROOT和BT4复制到你想放的分区根目录下,我放在E,这时E下就有ROOT和BT4项2个文件夹。
3.配置GRUB4DOS。把GRUB4DOS解压后,把3个文件grldr、grldr.mbr、menu.lst,复制到C盘根目录(C为启动盘).
menu.lst清空,填上
timeout 5
default=0
title Blacktrack 4
root (hd0,5)
kernel /boot/vmlinuz max_loop=255 initrd=initrd.gz init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6666 root=/dev/ram0 rw
initrd /boot/initrd.gz
注:root (hd0,5)就是E盘嘛,其他自己看对照表
硬盘主分区(最多有4个主分区/引导分区)扩展分区  Linux的表示  Window的划分表示  
Sd1   HD0:0  C:  
Sd2     
Sd3     
Sd4     
 Sd5  HD0:4  D:
 Sd6  HD0:5  E:
 Sd7  HD0:6  F:
4.编辑Win7的启动项,win7没有boot.int,建一个就是了。建立boot.ini文件。
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\Windows Seven
[operating systems]
C:\grldr.mbr="Blacktrack 4 -- Start By Grub4Dos"
注:在vista或win7下必须要引号
开机就看到菜单了,硬盘引导的。就这么简单。

No comments: