个人工具

“UbuntuHelp:RecoveringUbuntuAfterInstallingWindows/zh”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
Using the Desktop/LiveCD while preserving Windows Bootloader
Using the Desktop/LiveCD and Overwriting the Windows bootloader
第62行: 第62行:
 
From: http://ubuntuforums.org/showpost.php?p=121355&postcount=5
 
From: http://ubuntuforums.org/showpost.php?p=121355&postcount=5
  
 +
=== 使用Desktop/LiveCD ,改写Windows bootloader===
 
=== Using the Desktop/LiveCD and Overwriting the Windows bootloader ===
 
=== Using the Desktop/LiveCD and Overwriting the Windows bootloader ===
  
 +
用Live CD引导,打开终端。当需要root权限使用一些命令时,可以使用''sudo -i'' 来获得root命令行,用此可以正规地代替使用''sudo''。此时要特别小心,尤其是要注意打字错误。
 
Boot from a Live CD and open a terminal. You'll need to run a few commands as root so you can use ''sudo -i'' to get a root shell and run them normally instead of using ''sudo'' on each of them. Be extra careful when running a root shell, especially for typos !
 
Boot from a Live CD and open a terminal. You'll need to run a few commands as root so you can use ''sudo -i'' to get a root shell and run them normally instead of using ''sudo'' on each of them. Be extra careful when running a root shell, especially for typos !
  
 +
我们要找到Ubuntu系统安在哪个分区。输入命令''fdisk -l''。将返回你所有分区列表,例如:
 
We'll need to find which partition your Ubuntu system is installed on. Type the command ''fdisk -l''. It will output a list of all your partitions, for example :
 
We'll need to find which partition your Ubuntu system is installed on. Type the command ''fdisk -l''. It will output a list of all your partitions, for example :
  
第84行: 第87行:
 
Partition table entries are not in disk order</nowiki></pre>
 
Partition table entries are not in disk order</nowiki></pre>
  
 +
这里,我有本个Linux分区./dev/hda2 是我的根分区,/dev/hda1是我的/boot 分区,dev/hda6 是我的 /home分区.如果你只有一个,显然就是你的Ubuntu系统安装分区.你还有更多的分区,而你不知道哪个是你的Ubuntu系统安装分区,可以稍后再查找.首先,为你的分区创建一个挂载点,例如:
 
Here I have three Linux partitions. /dev/hda2 is my root partition, /dev/hda1 is my /boot partition and /dev/hda6 is my /home partitoins. If you only have one, obviously this is the one your Ubuntu system is installed on. If you have more than one and you don't know which one your Ubuntu is installed on, we'll look for it later. First, create a mountpoint for your partition, for example :
 
Here I have three Linux partitions. /dev/hda2 is my root partition, /dev/hda1 is my /boot partition and /dev/hda6 is my /home partitoins. If you only have one, obviously this is the one your Ubuntu system is installed on. If you have more than one and you don't know which one your Ubuntu is installed on, we'll look for it later. First, create a mountpoint for your partition, for example :
  
 
<code><nowiki>mkdir /mnt/root</nowiki></code>
 
<code><nowiki>mkdir /mnt/root</nowiki></code>
  
 +
然后挂载你的分区.如果你不知道哪一个是,就每一个都挂载一次,直到找到正确的为止.
 
Then mount your partition in it. If you don't know which one it is, then mount any of them, we'll se if it's the correct one.
 
Then mount your partition in it. If you don't know which one it is, then mount any of them, we'll se if it's the correct one.
  
 
<code><nowiki>mount -t ext3 /dev/hda2 /mnt/root</nowiki></code>
 
<code><nowiki>mount -t ext3 /dev/hda2 /mnt/root</nowiki></code>
  
 +
当然,用你的正确分区名称替换掉这里的/dev/hda2.可以用''ls /mnt/root''来核实是否是正确的,可能会显示如下信息:
 
Of course, replace /dev/hda2 with the correct name of your partition. You can check if it's the correct one by running ''ls /mnt/root'', which should output something like this :
 
Of course, replace /dev/hda2 with the correct name of your partition. You can check if it's the correct one by running ''ls /mnt/root'', which should output something like this :
  
第98行: 第104行:
 
cdrom  initrd.img  media  proc  selinux  tmp  vmlinuz</nowiki></pre>
 
cdrom  initrd.img  media  proc  selinux  tmp  vmlinuz</nowiki></pre>
  
 +
如果不是像这样的,则说明没有挂载正确的分区.使用''umount /mnt/root'' 来卸载掉分区,再试试另一个.你可能需要挂载你的/boot分区,例如:
 
If what you have looks not at all like this, you didn't mount the correct partition. Do ''umount /mnt/root'' to unmount it and try another one. You also need to mount your /boot partition if you made one, like this :
 
If what you have looks not at all like this, you didn't mount the correct partition. Do ''umount /mnt/root'' to unmount it and try another one. You also need to mount your /boot partition if you made one, like this :
  
 
<code><nowiki>mount -t ext3 /dev/hda1 /mnt/root/boot</nowiki></code>
 
<code><nowiki>mount -t ext3 /dev/hda1 /mnt/root/boot</nowiki></code>
  
 +
确信挂载正确,用''ls /mnt/root/boot''验证,会返回如下信息:
 
To make sure it was the correct one, run ''ls /mnt/root/boot'', which sould output something like this :
 
To make sure it was the correct one, run ''ls /mnt/root/boot'', which sould output something like this :
  
第107行: 第115行:
 
grub                    lost+found                  vmlinuz-2.6.18-3-686
 
grub                    lost+found                  vmlinuz-2.6.18-3-686
 
initrd.img-2.6.18-3-686  memtest86+.bin</nowiki></pre>
 
initrd.img-2.6.18-3-686  memtest86+.bin</nowiki></pre>
 +
  
 
Once again, if what you have doesn't fit, unmount it and try another partition.
 
Once again, if what you have doesn't fit, unmount it and try another partition.
第128行: 第137行:
  
 
Now you can reboot and the GRUB menu should appear. If you see a warning message regarding XFS filesystem, you can ignore it.
 
Now you can reboot and the GRUB menu should appear. If you see a warning message regarding XFS filesystem, you can ignore it.
 
  
 
=== Not using the Ubuntu Desktop/Live CD ===
 
=== Not using the Ubuntu Desktop/Live CD ===

2007年11月11日 (日) 12:40的版本

}

使用Ubuntu Desktop/Live CD

请选择下列选项之一:

Using the Desktop/LiveCD while preserving Windows Bootloader

不要忘记如下方法:在硬盘引导分区上,用GRUB替代MBR(主引导纪录)。这适用于大多数人,除非你有了另外一个可用的引导程序。

Don't forget that this method, as described, puts GRUB back on the MBR (master boot record) of the hard drive instead of in the root parititon. This is fine for most people, but not if you already have an alternative boot manager.

另一方面,如果你用Boot Magic or System Commander,你读到的命令将改写你所做的。

In other words, if you use something like Boot Magic or System Commander, the commands you've just read will overwrite what you've got.

如果你已在引导分区安装GRUB替换了MBR,命令将会有所不同。下面是我的建议:

If you've installed GRUB into the Root Partition instead of the MBR, the commands are a little different. Here's are the instructions that I have for my system:

如何在Ghost后恢复Grub:

How to Restore the Grub Menu after a Re-Ghosting:

1.用Live CD引导系统,例如Ubuntu Live, Knoppix, Mepis, or similar.

1. Boot from a Live CD, like Ubuntu Live, Knoppix, Mepis, or similar.

2.打开终端。打开根终端(用在非Ubuntu光盘中用“su",在Ubuntu光盘中用"sudo -i)。密码是必须的。

2. Open a Terminal. Open a root terminal (that is, type "su" in a non-Ubuntu distro, or "sudo -i" in Ubuntu). Enter root passwords as necessary.

3.输入"grub" 。

3. Type "grub" which makes a GRUB prompt appear.

4.输入"find /boot/grub/stage1"。你会看到像"(hd0)" 的信息(我的是(hd0,3)")。在下面的操作中,使用你的计算机显示的信息。

4. Type "find /boot/grub/stage1". You'll get a response like "(hd0)" or in my case "(hd0,3)". Use whatever your computer spits out for the following lines.

5.输入"root (hd0,3)"。(译注:以下信息以原作者的为例,自己当改成所看到的)

5. Type "root (hd0,3)".

6.输入"setup (hd0,3)". 这是关键。如果你想将GRUB写入MBR,可以用其他的操作,如输入"(hd0)"。如果你想将它写入你的linux引导分区,可以在逗号后写入数,如"(hd0,3)"。

6. Type "setup (hd0,3)". This is key. Other instructions say to use "(hd0)", and that's fine if you want to write GRUB to the MBR. If you want to write it to your linux root partition, then you want the number after the comma, such as "(hd0,3)".

7.输入"quit".

7. Type "quit".

8.重启系统。取走引导CD。

8. Restart the system. Remove the bootable CD.

来自:http://ubuntuforums.org/showpost.php?p=121355&postcount=5

From: http://ubuntuforums.org/showpost.php?p=121355&postcount=5

使用Desktop/LiveCD ,改写Windows bootloader

Using the Desktop/LiveCD and Overwriting the Windows bootloader

用Live CD引导,打开终端。当需要root权限使用一些命令时,可以使用sudo -i 来获得root命令行,用此可以正规地代替使用sudo。此时要特别小心,尤其是要注意打字错误。 Boot from a Live CD and open a terminal. You'll need to run a few commands as root so you can use sudo -i to get a root shell and run them normally instead of using sudo on each of them. Be extra careful when running a root shell, especially for typos !

我们要找到Ubuntu系统安在哪个分区。输入命令fdisk -l。将返回你所有分区列表,例如: We'll need to find which partition your Ubuntu system is installed on. Type the command fdisk -l. It will output a list of all your partitions, for example :

$ sudo fdisk -l

Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units == cylinders of 16065 * 512 == 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1           8       64228+  83  Linux
/dev/hda2               9        1224     9767520   83  Linux
/dev/hda3   *        1225        2440     9767520   a5  FreeBSD
/dev/hda4            2441       14593    97618972+   5  Extended
/dev/hda5           14532       14593      498015   82  Linux swap / Solaris
/dev/hda6            2441       14530    97112862   83  Linux

Partition table entries are not in disk order

这里,我有本个Linux分区./dev/hda2 是我的根分区,/dev/hda1是我的/boot 分区,dev/hda6 是我的 /home分区.如果你只有一个,显然就是你的Ubuntu系统安装分区.你还有更多的分区,而你不知道哪个是你的Ubuntu系统安装分区,可以稍后再查找.首先,为你的分区创建一个挂载点,例如: Here I have three Linux partitions. /dev/hda2 is my root partition, /dev/hda1 is my /boot partition and /dev/hda6 is my /home partitoins. If you only have one, obviously this is the one your Ubuntu system is installed on. If you have more than one and you don't know which one your Ubuntu is installed on, we'll look for it later. First, create a mountpoint for your partition, for example :

mkdir /mnt/root

然后挂载你的分区.如果你不知道哪一个是,就每一个都挂载一次,直到找到正确的为止. Then mount your partition in it. If you don't know which one it is, then mount any of them, we'll se if it's the correct one.

mount -t ext3 /dev/hda2 /mnt/root

当然,用你的正确分区名称替换掉这里的/dev/hda2.可以用ls /mnt/root来核实是否是正确的,可能会显示如下信息: Of course, replace /dev/hda2 with the correct name of your partition. You can check if it's the correct one by running ls /mnt/root, which should output something like this :

bin    dev      home        lib    mnt   root     srv  usr
boot   etc      initrd      lib64  opt   sbin     sys  var
cdrom  initrd.img  media  proc  selinux  tmp  vmlinuz

如果不是像这样的,则说明没有挂载正确的分区.使用umount /mnt/root 来卸载掉分区,再试试另一个.你可能需要挂载你的/boot分区,例如: If what you have looks not at all like this, you didn't mount the correct partition. Do umount /mnt/root to unmount it and try another one. You also need to mount your /boot partition if you made one, like this :

mount -t ext3 /dev/hda1 /mnt/root/boot

确信挂载正确,用ls /mnt/root/boot验证,会返回如下信息: To make sure it was the correct one, run ls /mnt/root/boot, which sould output something like this :

config-2.6.18-3-686      initrd.img-2.6.18-3-686.bak  System.map-2.6.18-3-686
grub                     lost+found                   vmlinuz-2.6.18-3-686
initrd.img-2.6.18-3-686  memtest86+.bin


Once again, if what you have doesn't fit, unmount it and try another partition.

Now that everything is mounted, we just need to reinstall GRUB :

grub-install --root-directory=/mnt/root /dev/hda

If you got BIOS warnings try:

grub-install --root-directory=/mnt/root /dev/hda -recheck

Of course, replace /dev/hda with the location you want to install GRUB on. If all went well, you should see something like this :

Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/hda

Now you can reboot and the GRUB menu should appear. If you see a warning message regarding XFS filesystem, you can ignore it.

Not using the Ubuntu Desktop/Live CD

You could have to run "grub" not from the Ubuntu Desktop/Live CD, but from your disk installation to make it work. To do this mount your root partition (following examples assume a root partition on hda1):

sudo mkdir /mnt/linux
sudo mount /dev/hda1 /mnt/linux

then change directory to your installation sbin and run grub from there

cd /mnt/linux/sbin
sudo ./grub