admin 管理员组

文章数量: 887021

用Windows引导Linux(Windows7+Ubuntu)

如果是经常重装Windows系统的用户,或者多系统用户(我是Windows+Linux+Mac OS),有必要统一引导方式。

Mac OS可以用Linux引导(使用变色龙),Linux用Ubuntu引导。下面就讲解一下怎样用Windows 引导Linux。

默认安装Ubuntu是采用grub引导方式,记录在了MBR上,首先用grub启动Ubuntu,备份MBR,为把grub赶出MBR做准备。

 

 

启动到linux (Ubuntu)

如果你的是IDE硬盘

sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1

 

如果你硬盘的被识别为sda

sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1

 

 

题外话:

如果没有bs=512 count=1的话,dd好像跟ghost一样,不知道是不是哦,高手赐教。

然后你可以到/media找到linux.lnx这个文件

将它cp到你的win根目录,例如是C:/,而且我建议你对这个文件做多个备份!

然后重启到win

进入后确认你的系统根目有linux.lnx这个文件

如果是win 2000/XP直接修改boot.ini

boot.ini请在win 下修改,因为编码不同! 大侠除外。

它可能隐藏和只读

然后在后面加入

如果有

代码:

time=0

 

请将0更改!如time=5

代码:

C:/linux.lnx=linux

 

保存!

然后你就可以重启win看效果了。

如果Vista/Windows 7,因为采用启用了新的引导方式,即是一个bcdedit的执行引导程序操作。

复制好引导文件后,还需要进一步作如下修改

***************************************************

在Windows 7下启动运行,输入cmd进入命令提示符状态。输入:bcdedit /enum all | find "{ntldr}",如果返回的是:标识符              {ntldr},则选用方案B,否则选用方案A。

    方案A:

bcdedit /create {ntldr} /d "Ubuntu Linux"

    bcdedit /set {ntldr} device partition=C:

    bcdedit /set {ntldr} path /ntldr

    bcdedit /displayorder {ntldr} /addlast

 

方案B:(注意要根据第一个命令返回结果做相应修改):

    bcdedit /copy {ntldr} /d "Ubuntu Linux";系统会提示说已将该项成功复制到 {8de1dad8-d399-11db-b639-000aeb2dc0ba},其中的{8de1dad8-d399-11db-b639-000aeb2dc0ba}就是Ubuntu Linux的启动标识符。不同的操作系统可能会不一样。

     再输入:bcdedit /set {你的Linux标识符} device partition=C:,系统会提示操作成功完成

     输入:bcdedit /set {你的Linux标识符} path /ntldr,

     最后输入:bcdedit /displayorder  {你的Linux标识符} /addlast。

     保存退出,重启之后你就会看到Windows 7 和 Ubuntu Linux的双启动菜单了。

    

***************************************************

如果Windows引导正常了,就可以清理掉MBR记录了。

步骤:

win9x的引导盘启动(或者用其他磁盘管理工具也行)

代码:

fdisk /mbr

 

这样grub引导就没有了,只剩下Windows的引导方式了。

 

附:dd的用法!

 

1.作用

dd命令用来复制文件,并根据参数将数据转换和格式化。

2.格式

dd [options]

3.[opitions]主要参数

bs=字节:强迫 ibs=<字节>及obs=<字节>。

cbs=字节:每次转换指定的<字节>。

conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。

count=块数目:只复制指定<块数目>的输入数据。

ibs=字节:每次读取指定的<字节>。

if=文件:读取<文件>内容,而非标准输入的数据。

obs=字节:每次写入指定的<字节>。

of=文件:将数据写入<文件>,而不在标准输出显示。

seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。

skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。

本文标签: Linux Windows Ubuntu