Vista & Linux Dual Boot

从Vista启动

dd if=/dev/hda1 of=/grub.lnx bs=512 count=1
* had1 是你自己的grub安裝位置,如果不知道輸入fdisk –l查詢你的FC5安裝目錄。
 
在vista下,用管理员权限运行cmd
bcdedit /create /d "Your Linux Distor" /application bootsector
 
建立“Linux” 名称,通过加载类型为“引导扇区文件”的启动项
执行后,会返回一个{GUID},下面的命令用到这个{GUID}
 
bcdedit /set {GUID} device partition=E:
设置引导扇区文件所在的分区(就是这个grub.lnx所在的分区)

bcdedit /set {GUID} path linuxloadergrub.lnx
指定引导扇区文件的路径和文件名(反斜杠,表示根目录)

bcdedit /displayorder {GUID} /addlast
增加这个Linux的菜单项到末尾。重新启动计算机。

用Grub启动方法:
vi /boot/grub/grub.conf or menu.list

直接在## ## End Default Options ##行下面插入以下语句:

title Windows Vista
root (hd0,0)
makeactive
chainloader +1

然后保存。

———————————————————————————-

Ref: http://www.techspot.com/vb/topic76345.html

OK, I had to investigate this just recently, so I thought I would
share. Here is what to do if you want to add Linux to Vista’s boot
menu, rather than using Grub in the Master Boot Record.

# Install Vista as normal.
# Install Linux, but install Grub to
the bootsector of your / partition (which from now on we will call
/dev/sda3) and NOT the MBR (i.e. /dev/sda)
# Boot Linux from the install CD, choose rescue mode.
# From the command prompt in rescue mode, mount your Linux installation partition, i.e.

mount /dev/sda3 /mnt/sysimage

then chroot it:
chroot /mnt/sysimage
reinstall Grub just to make sure that its working OK

/sbin/grub-install /dev/sda3

now, make a file image of the bootsector of /dev/sda3:
dd if=/dev/sda3 of=bootsect.lin bs=512 count=1
copy the bootsect.lin to somewhere you will be able to get it back when in Vista.

# Now, back in Vista
copy bootsect.lin to c:
open a command prompt with cmd, and do the following:
bcdedit /displayorder {current}

bcdedit /create /d "Linux" /application BOOTSECTOR
(should say something like created entry, it will give it a name, like {cfc90cf0-f718-11db-b281-005056c00008} )

then

bcdedit /set {cfc90cf0-f718-11db-b281-005056c00008} device boot
bcdedit /set {cfc90cf0-f718-11db-b281-005056c00008} PATH bootsect.lin
bcdedit /displayorder {cfc90cf0-f718-11db-b281-005056c00008} /addlast
bcdedit /timeout 5

# Reboot, Linux is now in the boot menu which if you select it you will go into Grub.

——————————————————————————————————

在命令行窗口中,转到系统目录如 “C:/windows/system32”下,然后输入“ bcdedit” 即可。

使用BCDEdit修改启动菜单选项

  作为一种良好的操作习惯,在对Windows
Vista的启动选项进行任何修改前,首先要对BCD中的启动选项进行备份,相应的命令上页我们已介绍过,在此不再赘述;其次,使用“bcdedit
”或“ bcdedit /enum all ”来查看系统中硬盘或分区的正确 GUID
标识,并将其记录下来。毕竟,BCDEdit只是一款命令行工具,我们操作时需手动输入类似“{xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx}”这样的长字符串时,很容易出错,而这往往会导致Windows Vista启动失败。

  下面详细介绍使用BCDEdit修改启动选项的常用命令格式:

    * bcdedit /set {legacy} Description “Windows XP Professional
SP2” : 修改上一代操作系统在启动菜单中的显示内容,比如说我们也可将其修改为“Vista天地专用XP
SP2”之类。注意,命令中的引号不可省略;
    * bcdedit /set {current} description
“Windows Vista Build 5270 x86″ :
修改当前启动硬盘或分区上的操作系统在启动菜单中的显示内容。注意,当前分区上的操作系统可能为Windows
Vista,也可以是其他系统,当然,命令中的引号也不可省略;
    * bcdedit /set
{5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Windows Vista Build
5270 x64” :
修改安装于其他硬盘或分区的系统在启动菜单中的显示内容,使用这项命令时一定要注意该硬盘/分区的GUID输入正确,相应的GUID可通过“
bcdedit ”或“ bcdedit /enum all ”命令查看。
    * bcdedit /default {current} : 将当前启动硬盘/分区中的操作系统设置为默认启动的系统;
    * bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 设置指定GUID上的操作系统为默认启动的系统;
    * bcdedit /default {legacy} : 设置上一代Windows 系统Windows XP为默认启动的系统;
    * bcdedit /displayorder : 设置启用菜单中各项的显示顺序,如:
      bcdedit.exe /displayorder {legacy} {current}
      将首先显示Windows XP,然后再显示默认启动的系统如Windows Vista;
    * bcdedit /timeout 15 : 将默认的启动菜单显示时间30秒更改为15秒,当然,您可以将这个时间修改为任何您希望的数值。

BCDEDIT命令

    * bcdedit /? : 显示命令帮助
    * bcdedit.exe /? CREATESTORE : 显示命令参数“ CREATESTORE ”的详细信息,——当然,“ CREATESTORE ”也只是示例,使用中对其他任何可用参数也均可使用类似格式查看该参数的具体说明。
   
* bcdedit 或 bcdedit /enum all : 显示Windows
Vista系统当前的启动设置数据,这时系统中所有安装了操作系统的硬盘或分区均会显示相应的 GUID 标识,如
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。

使用BCDEdit备份与恢复启动选项

  在对Windows Vista的启动选项修改之前,最好先对其备份,以防万一操作失误或其他故障导致系统无法启动。

    * bcdedit /export “D:BCD BackupBcd Backup” : 将启动设置备份到D盘 “BCD Backup” 目录下;
    * bcdedit /import “D:BCD BackupBcd Backup” : 恢复之前备份在D盘 “BCD Backup”目录下启动选项。

使用BCDEdit修复硬盘/分区结构错误

  在对启动选项的修改过程中,如添加或删除某个硬盘/分区时,可能会因操作中的不慎导致硬盘/分区结构的混乱,除了采用恢复修改前的备份方法外,也可以首先使用BCDEdit来尝试一下修复。

  具体方法如下:

   1. X:>X:bootfixntfs.exe -lh -all : 这时的“ X: ”指引导目录 “boot” 所在的硬盘/分区;
  
2. bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device
partition=X: : 将指定GUID的分区设为启动分区。注意,这里的“ X:
”的GUID须与指定值不同,同时,运行该命令后,必须接着运行下面的osdevice命令;
   3. bcdedit /set
{5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: :
将指定GUID的分区设为启动分区。注意,这个命令必须与上面的device命令配对使用,同时“ X: ”的GUID须与指定值不同。

BCDEdit命令简介

  通过命令行工具Bcdedit,我们可以添加、删除及修改BCD (Boot Configuration
Data)中的对象。在BCD中,每个对象均具有唯一的 GUID (Globally Unique Identifier :
全局唯一标识符),如系统中的每块硬盘、每个分区的GUID (全局唯一标识符)均不相同。

  在BCD中,硬盘或分区的GUID可分为如下几类:

    * {legacy} :指存在上一代Windows系统如Windows XP的硬盘或分区;
    * {default} : 默认操作系统所在硬盘或分区;
    * {current} : 当前硬盘或分区;
    * {c34b751a-ff09-11d9-9e6e-0030482375e7} : 类似于这个格式的GUID指其他安装了操作系统的硬盘或分区。
      (注:这只是个例子,具体数字根据硬盘或分区参数会有相应变化,但均会类似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s