linux xp双系统修复

来源:互联网 发布:9.3.3cydia数据库红字 编辑:程序博客网 时间:2024/05/16 23:55
1.linux 和xp双系统
先安装xp
后安装linux,这样linux会自动的安装grub
如果先安装linux,后安装xp,导致启动引导的时,找不到linux,但是可以进入xp
这种情况和先安装xp,再安装linux,又重装xp的情况是类似的,也会找不到linux
需要重新引导linux. 

出现问题的原因: 
1) 重装xp的时,硬盘的MBR被重写了,导致grub的第一段程序被覆盖了。grub无法启动了
我们需要修复grub,重装一下grub,然后,用grub重新做一个引导程序表。就ok了。解决
这个问题的方法有很多种,关键的一步就是重装grub。
可以选择的方案有,1)安装一个wingrub ,启动以后进入grub的命令行,通过命令行修复。
2)安装一个grub4dos,进入dos后,在选择进入grub的shell。 如果系统没有dos的话就尴尬了
3)通过linux的live cd ,重装grub
4)通过linux的live cd,挂载你的linux 系统,进入你的linux的系统,然后重装原来系统的grub。

下面是我的第四中方法的操作过程
解决方法:
A)采用linux的live CD
1)     为了操作方便,首先执行 sudo  -i  ;以root权限执行如下命令
2)     启动linux的live CD 之后 ,看一下你的linux系统在哪个硬盘分区
        fdisk -l  /dev/sda  ;(sda 是硬盘的标识) 

显示结果大概如下:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00015110


  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048  1945378815   972688384   83  Linux
/dev/sda2      1945380862  1953523711     4071425    5  Extended
/dev/sda5      1945380864  1953523711     4071424   82  Linux swap / Solaris

3) 挂载linux 文件系统,我的linux 的系统分区 是 : 
根文件 在sda1分区上,/boot 在sda3分区上,/home 在sda6分区上,
首先挂载linux的根文件系统  到 /mnt 目录上
 mount    /dev/sda1    /mnt
 挂载/boot 
   mount    /dev/sda3   /mnt/boot
挂载/home
   mount    /dev/sda6   /mnt/home
如果你的linux的boot和home 都在一个分区上,那么只需要挂载根文件系统就可以了
如果挂载成功,那么cd  /mnt/home ;ls 可以看到原来linux的账户
4) mount  --bind /dev  /mnt/dev
      mount  --bind /proc  /mnt/proc
mount   --bind  后   挂载后的目录继承了被挂载目录的所有属性,除了名称以外

5)chroot  /mnt  ;这一步成功意味着已经进入了你的linux系统
6)执行命令 grub-install /dev/sda
这一步是重新安装grub到你的硬盘
7)sudo update-grub 

如果出现如下信息,表示成功了 ;

   grub.cfg ... 

   Found Debian background: moreblue-orbit-grub.png 

   Found linux image: /boot/vmlinuz-2.6.31-15-generic 

   Found initrd image: /boot/initrd.img-2.6.31-15-generic 

   Found memtest86+ image: /boot/memtest86+.bin 

   Found Windows 7 (loader) on /dev/sda1 
    DONE











 



原创粉丝点击