前几天win8预览版放出来的时候,一时好奇,直接从win7升级到了win8,结果发现声卡驱动严重有问题,没办法,只好重装win7,我以前是win7和arch双系统,重装之后,MBR被windows的BCD菜单覆盖了,无法引导arch。
然后在QQ上问zjy怎么恢复引导,他给我找了阿哲在贴吧里发的帖子,参考之后折腾了一中午终于弄好了,现记录下来备份以下。
首先你需要一个引导盘,ubuntu的liveCD或者其他linux的liveCD都行。然后开机从U盘启动,打开终端,输入
1
|
sudo
-
i
|
提升到root权限,然后输入
1
|
fdisk
-
l
|
会出现大概像下面一样的内容(因个人分区设置而异)
1
2
3
4
5
6
7
8
|
Device
Boot
Start
End
Blocks
Id
System
/
dev
/
sda1
*
63
83886767
41943352
+
7
HPFS
/
NTFS
/
exFAT
/
dev
/
sda2
83886768
625142447
270627840
f
W95
Ext'
d
(
LBA
)
/
dev
/
sda5
83886831
451062447
183587808
+
7
HPFS
/
NTFS
/
exFAT
/
dev
/
sda6
451062511
480358959
14648224
+
83
Linux
/
dev
/
sda7
480359023
499889967
9765472
+
83
Linux
/
dev
/
sda8
499890031
501889839
999904
+
82
Linux
swap
/
Solaris
/
dev
/
sda9
501889903
625142447
61626272
+
83
Linux
|
找到你linux的boot目录所在的分区,比如我的是/dev/sda6,你在安装linux的时候应该知道自己把/boot放在哪里了吧?然后输入
1
2
3
|
mount
--
bind
/
dev
/
mnt
/
dev
chroot
/
mnt
grub
-
install
/
dev
/
sda
|
如果一切正常的话,这时候就会提示你success,但是在我电脑上失败了,这时可输入
1
2
3
|
grub
grub<<
root
(
hd0
,
5
)
grub<<
setup
(
hd0
)
|
解释以下上面的命令,输入grub后会进入grub模式,后面的(hd0,5)是指你的第一块银盘上的第6个分区,注意,grub是从0开始数的,所以,第一块硬盘是(hd0),第6个分区是(hd0,5),此处根据你硬盘分区情况输入合适的数字。
然后重启就可以看到grub菜单,进入linux后在终端输入以下命令重新查找windows分区。(这一步我没有用到,我重启之后grub菜单还是以前的,里面有windows分区的引导项)
1
|
sudo
update
-
grub
|
OK,大功告成。
在此谢过zjy,还有阿哲和数位ubuntu中文论坛网友