1、软盘引导需要重新启动计算机,并在bios内设置为软盘引导,要编辑名为AUTOEXECBAT的文件。在其中加入需要启动的文件名称就可以了。
2、光盘一般放入光驱就可以自动引导,但需要光盘根目录下有一个叫autoruninf得文件。
编辑文件autoruninf
格式如下:
[autorun]
open=Setupexe //需要引导的文件名
icon=BeiJingMapico //盘符显示的图标
一般现在的ghost系统都会自带有引导启动菜单,如果你没看到,可能是它设置的显示时间过短。你可以在系统里的“高级”选项里设置。1、右击“我的电脑”,选择“属性”。2、点击“高级”,点击下方“启动和故障里的”设置“。3、把”显示 *** 作系统列表的时间“打上勾,并设置3--5秒的显示时间
去年暑假的时候,写了一篇如何装 Linux 和 Windows 10 双系统的文章发在了上,我写这篇文章的原因是当初装双系统确实是折腾了许久,网上也找不到一篇详尽的教程。由于去年对于写教程还不是熟练,而这一年多的使用过程也遇到了一些问题,所以就准备「Refactoring」这篇文章。
在教程正式开始之前,先花一点时间说明 EFI 分区的组成和作用。
首先,在你装了 Windows 之后,Windows 在装机过程中会将硬盘划分出一个约 100m 大小的分区,称为 EFI 分区这个分区就是起引导作用的。在资源管理器中是看不到的这个分区的,可以在磁盘管理中看到,管理则需要借助 DG 工具 。便于说明,在装好了 Linux 之后,我将 EFI 挂载至 boot 分区截图:
可以看到,该分区包含 3 个文件夹(如果你没有装 Linux 的话,就只有两个),分别是 Boot、Microsoft 和 Manjaro,其中 Boot 文件夹就是 UEFI 引导所必需的文件。
我们继续打开 Microsoft/Boot 文件夹:
这些文件就是启动 Windows 10 所必需的,包含了语言包、字体等,BCD 包含了 Windows 引导开始以后的信息。其中, bootmgfwefi 是 Windows 默认引导文件 。
以上是采用 UEFI 启动 Windows 10 的文件结构,也就是说,当你按下开机按钮的时候,首先 UEFI 找到 EFI 分区的 Boot 文件夹,然后加载 bootx64efi 文件,读取文件信息,找到 EFI/Microsoft/Boot/bootmgfwefi ,按照 bootmgfwefi 的要求,加载所需的启动信息,启动 Windows 10。
在正式装系统之前,我们还需要做一些准备工作:
这个功能的作用是在于关机的时候不完全断电,类似将系统处于「休眠」状态,这样可以让开机更加迅速。但这也就导致了只能使用 Windows 系统。
在默认情况下,UEFI 固件只会加载那些被签名的引导程序。在缺少 Secure Boot 功能的传统 PC 机上,恶意的后门程序可以加载自身,进而摇身一变伪装成一个引导程序。这样的话,BIOS 就会在启动的时候加载后门程序,这样它就可以躲过 *** 作系统,把自己隐藏得很深。
但是不得不说,这对我们安装 Linux 造成了很大的困扰,也是直接导致我们重启到 Windows 10 后进不去 Linux 的原因。
首先我们要关闭这个功能:进入 BIOS 找到 Secure Boot,选择 disabled,这样就关闭了。当然,有些人进入 BIOS 会发现 Secure Boot 这个选项是灰色的(比如我的就是),这时你需要先给你的 BIOS 设一个密码,然后就能关 Secure Boot 了。
所有的准备都已经完成,这时就可以准备刻录 U 盘了,不推荐 UltraISO,经亲测,软碟通仅刻录 Ubuntu 能成功,其它绝大多数发行版都会失败。推荐「 Rufus 」和「 USBWriter 」,这两个软件都可以。
刻录完成后,重启按 f12 ,选择从 USB 设备启动,对于绝大多数发行版来说一路回车就行了,只需要注意一点: 在选择挂载 boot 位置的时候,一定要挂载在 efi 分区 ,别的都不行。
重启之后,不出意外的话,你会直接进入 Windows 10,不要担心,这时 Linux 已经安装成功了,我们只需要将引导文件替换一下。
先用 DG 打开 EFI 分区,你会看到多了一个文件夹,名称取决于你安装的是哪一个发行版。我安装的是 Manjaro Linux,名称就是 Manjaro,打开之后会发现里面有一个名为 grubx64efi 的文件,这就是启动 Linux 的引导文件。和 Windows 10 的 bootmgfwefi 类似,我们想要用 grubx64efi 引导代替掉 bootmgfwefi,这样就可以用 GRUB 引导了。步骤:
至此,如果你安装的是除 Arch 之外绝大多数发行版,那么接下来就和你没有啥关系了,你已经成功了,好好享受吧!
开机之后会发现进入 GRUB 的引导了,通常会包含至少三个选项(以 Manjaro 举例):Manjaro、Manjaro 高级选项和 Windows Manager。这就代表你已经完美的解决了 Windows 和 Linux 双系统引导的问题。
这一点是我安装 Arch Llinux 的时候发现的,Arch Linux 安装过程是手动安装的,在编写 GRUB 的时候会扫描不到 Windows Manager 所在的分区(当然可能不是所有人都会遇到),所以在 GRUB 界面可能会看不到 Windows Manager 选项,导致进不去 Windows 10,这里就需要手动编辑 GRUB 信息,我们打开 /boot/grub/grubcfg 文件,发现里面确实没有 Windows 10 的启动信息,在后面加上:
注意 :
这里的 $hints_string ,代表的是终端执行命令:
后的输出;
而 $fs_uuid 代表的是:
的输出。
然后保存。在终端执行命令: sudo grub-mkconfig -o /boot/grub/grubcfg ,就 OK 了。
到此,Arch Linux 和 Windows 10 双系统也配置完毕了。
在使用这一年多的时间,遇到了以下的几个问题:
最后:祝使用愉快。
如何使用GRUB引导 *** 作系统进行自定义多启动
本文主要内容是使用GRUB来引导目前的绝大部分的系统,包括Windows、linux、bsd、UNIX、OSX等,对于其中涉及系统启动原理和硬盘工作原理部分都是来自于资料和个人理解,难免有错漏之处,请大家多多包涵。关于硬盘结构构成的部分就不附上了。
我们日常使用得最多的 *** 作系统是Windows,包括Windows xp、Windows 2000、Windows 2003和Windows vista、Windows2008等。Windows目前的系统的引导都是通过ntldr文件来传递引导参数; Windows 2000-Windows 2003是通过bootini文件来作为启动菜单;到了Windows Vista至目前最新的Windows 7是通过bootmgr启动管理器来管理启动菜单,也就是我们看到的启动windows时候给你选择的按F8,安全模式等等那个菜单。当然各个系统的 ntldr文件大小引导参数各不相同,但作用都是一样的。而linux、bsd等类unix系统是通过lilo或者grub等启动菜单直接加载内核(通常 是一个vmlinuz的内核)来启动,和Windows完全不同。
在用grub来引导所有系统之前,先看一下mbr的原理,这样对于使用grub来引导系统有很大帮助。mbr是“主引导记录”master boot record的英文缩写。一个扇区的硬盘主引导记录MBR由4部分组成:
1 主引导程序(偏移地址0000H--0088H)。它负责从活动分区中装载,并运行系统引导程序。
2 出错信息数据区。偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。
3 分区表(DPT,Disk Partition Table)。含4个分区项,偏移地址01BEH--01FDH。每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。
4 结束标志字。偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。
mbr占用512个字节,位于硬盘的0柱面、0磁头、1扇区,可以直观的理解为mbr处于硬盘的最开始位置,一切硬盘的 *** 作都是由它开始。mbr不 属于任何一个 *** 作系统,也不能用 *** 作系统提供的磁盘 *** 作命令来读取它。我们通常所用的pqmagic(硬盘分区大师)、pm(partition manager)、diskgen(分区精灵),甚至dos的最常见命令fdisk(fdisk/mbr这个重建分区表的命令相信一些朋友用过了)都是通 过用ROM-BIOS中提供的INT13H(中断)的2号功能来读出该扇区的内容。 512字节的小空间只能作为一个引导符号标志用哪些引导文件来启动,所以MBR可以看做只是一个引导的符号链接。
Windows的启动便是通过修改mbr的第一个数据-主引导程序来实现对Windows的引导,直观的理解就是安装Windows的时候,它会修 改主引导程序,“通知”它 “我是Windows系统”,你只要寻找活动分区,然后找到ntldr,用这个文件来启动就好了。问题是如果是多类型系统的硬盘或者多样系统多硬盘混合的 硬盘,那就没辙了。Windows/dos的启动叫做链式启动,它不能直接启动linux,只能通过婉转的方式在bootini中加入对grub的支 持,再间接启动linux/bsd等。我们通常所用的矮人工具箱,或者grub4dos就是属于这一种。
Windows在 vista之前,使用这个方式启动linux配置起来是很简单的事情,但到了vista时代又不同了。微软不再是用bootini来管理启动菜单,而是 通过bootmgr启动菜单管理器。从此修改启动菜单只能通过命令行来修改。当然可以通过vistaboot等有gui界面的软件来修改,问题是经常不能 启动。这是个“划时代”的愚蠢作品。首先我完全看不出这个bootmgr有何新亮点,一样不支持命令组合,一样不支持直接引导类unix系统,一样不支持 虚拟光驱,对于这么一个产品,只能说它是个废物,目的只是为了加速grub进入电脑玩家的视野。
我便是因为Windows vista开始的bootmgr超级废物才决心去研究一下grub这个引导软件。grub有自己的命令组合(它的命令解释器很复杂,本人也没有完全掌握所 有的命令),可以随时调试分区启动,不用每次都进入系统去修改启动配置。grub现在已经作为各种linux发行版的标准配置了,甚至越来越多人使用 grub4dos。它是个万能的引导工具。
了解了一些硬盘引导的原理,接下来使用grub引导系统就很好理解了。目前虽然linux也渐渐普及,几个比较好的发行版桌面化也做得非常好,比如 opensuse、ubuntu,但是大多数人使用的还是Windows系统为主。对于linux系统的grub使用和Windows的完全相同。 grub4dos完全是绿色版的。了解过了mbr的简单知识之后,可以知道换个引导工具只需要修改主引导程序。直接解压附件grub4dos到C盘,启动 grubinst_guiexe,如图,如果有多硬盘,务必在磁盘的选项选中需要安装grub4dos的硬盘,包括U盘也可以直接使用grub启动(前 提是把U盘格式化成zip/hd/flopy模式)。一般情况下按照图中的选项配置后重启计算机就会进入grub的菜单。注意的是某些U盘就算使用硬盘模 式或者zip模式格式化之后还是无法直接使用grub-install gui修改其主引导程序,这是只能用命令行安装,加上--skip-mbr-test参数,总命令如下:grubinstexe--pause-- verbose--no-backup-mbr--mbr-disable-floppy --mbr-disable-osbr --skip-mbr-test (hd你自己要安装的硬盘,参考GUI界面的磁盘选择)。
菜单文件menulst可以用编辑器打开。如果用记事本打开行列顺序会错乱。最好是右击文件,用写字板打开。编写menulst之前,先要理解 grub对硬盘和分区的定义。在grub中,第一硬盘为hd0,第一硬盘的第一分区为(hd0,0),接下去类推,而不是由1开始的,如果不知道是第几分 区也不重要,在grub命令的(hd0,按TAB键,就可以列出硬盘的分区列表)。这点对确定linux的根分区很重要,因为根分区是从1开始的。
(1)Windows类系统和osx使用tboot引导:Windows类系统的引导前面已经说过是链式引导,grub支持直接链式引导任意的 Windows系统,也就是本来硬盘的引导顺序是主引导程序-Windows链式引导文件ntldr 变为主引导程序-grub-Windows链式引导文件ntldr 而已,其根本是完全没有变化的。Windows类的引导只需三行,指明分区和加上链接启动。如Windows2003的启动(假设装在第一硬盘第一分区)
titleWindows 2003
root(hd0,0)
chainloader +1
chainloader就是声明链式启动的意思,其他Windows版本也是相同。如果OSX4x86系统是使用tboot来引导,也是属于链式引导,所以也可以这样编写:
title osx
chainloader (hd0,0)/tboot
有的文章指出链式连接启动Windows必须加上makeactive参数,不过只要Windows装在主分区,无论怎么试验,加不加 makeactive参数都是能启动的,反而加上makeactive会频繁修改mbr不是很稳当的做法,个人认为在不使用makeactive无法启动 的情况下再加上这个参数。
需要注意的是,如果是多硬盘环境,务必要加上map参数,因为Windows系统启动只认第一硬盘,比如Windows系统装在第二硬盘第一分区,需要加上map参数,把第二硬盘映射为第一硬盘。
title Windows 2003
root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
map映射顺序绝对不能搞错,首先要把hd0映射为装系统的盘,然后再把装系统的盘映射为hd0。
出现这个错误一般是因为分区表混乱或者错误,有时在U盘进行HD模式修改后,兼容性不好也会出现。
附件是我自己精简了一下的grub最小化Windows包,纯绿色,加上gui界面很直观,
附件还有一个32位的bootsect,可以把方便把MBR修改回Windows引导,包括NT52(对应WINDOWS XP和WINDOWS2003,通过NTLDR引导)和NT60类型(WINDOWS VISTA以及后续的WINDOWS版本,bootmgr引导)。
中:
(2)linux/bsd类系统的引导
(3)直接链接ISO等映像文件引导……。
现在市场中热销的PSP版本一般都是150版,而多说151和152版本PSP都经过升级至20版本后,通过降级程序将其重新刷回150版本,从而才能玩那些破解的游戏。但是这样就无法享受到PSP 20系统带来的许多新功能了,有些玩家所幸也就不用20版本PSP玩游戏了,大家都在等待着20系统的破解。
近日最新20版本破解程序的EBOOT引导器诞生了。这是有一位名叫Fanjita的玩家,在Saotome优秀的前作(10版本时代首批出现的loader程序)基础上修改而成,用tiff格式文件开发而成的。此次推出的这个自制程序EBOOT的引导器,可以让你在PSP 20版本系统上运行,而且只适用于20版本,其他系统暂不支持(包括201版本)。目前这个引导器还在不断的完善中,但此版本已经可以引导大量现有的自制程序EBOOT了!此版本尚不支持任何未知的EBOOT文件,但通过使用多种欺骗技巧,已经能够使20版本系统运行许多前作无法引导的EBOOT了。
使用方法:
1:将下载的压缩文件夹解压至记忆棒根目录。
2:将要运行的ebootpbp文件拷贝到ms0:\psp\games\boot\文件夹内。
3:然后用PSP自带的Photo Viewer打开“EBOOT loader”文件夹,引导器会自动开始运行。
4:等待片刻后,引导器会给出无法引导的错误信息或是成功引导的提示。
一、分区
本人的电脑中有两块硬盘,基本的想法是80G为Win系统,10G的硬盘放两个Linux系统,第一块硬盘中已有Win2K系统,如果你只有一个硬盘,可以用PQ分一个空区出来,然后在空出来的区中划一个交换分区,格式为/swap,大小一般为内存的15倍,如果你的内存为512M或者以上的交换分区和内存大小一样就行了,再分出两个大小为5G左右的根分区,格式化为EXT3。这样做的好处就是当安装完Linux系统后,Win系统不会因为不识别EXT3格式再变得非常缓慢。
二、安装Linux系统
现在安装Linux已经非常方便了,只要按屏幕上的提示来就行了,系统的安装不分先后,但是安装RedHat9时把Grub安装在硬盘hda1的MBR上,安装Mandrake91时把LILO或Grub安装到/boot的第一个扇区上就OK了。在linux中,主分区是hda1,第二个硬盘的主分区是hdb1,逻辑分区是从hda5开始的,如果有两个硬盘,可能就是从hdb5开始,以此类推。如果您不知道是怎么回事,就要用fdisk -l或df-la来查看。要安装系统的时候,也会有相应的让您选择安装位置,也是hdaX或者hdbX分区之类的,Linux下没有Win的C和D盘之分。
三、修改grubconf
系统安装完了,但是现在只能引导RedHat9和Win系统,必须要改一下/boot/grub/grubconf才能让三系统正常运行,用root用户进入系统,先用fdisk -ld 终端中查看你的分区情况,知道分区情况就好办了,用任何文件编辑器来打开/boot/grub/grubconf,一般来说,Win系统会自动加载到grub里面的,下面是笔者的grubconf文件,我们来分析一下
default=0
timeout=10
splashimage=(hd1,2)/boot/grub/splashxpmgz
title Windows2K
rootnoverify (hd0,0)
chainloader +1
title RedHat9
root (hd1,2)
kernel /boot/vmlinuz-2420-8 ro root=LABEL=/
initrd /boot/initrd-2420-8img
title Mandrake91
kernel (hd1,4)/boot/vmlinuz root=/dev/hdb5 quiet devfs=mount acpi=off vga=788
initrd (hd1,4)/boot/initrdimg
default=X为默认启动的系统,0为排在第一个的系统,以此类推。
timeout=X为Grub菜单停留的时间,单位为秒
title XXX,XXX为标题,也就是你要引导的 *** 作系统的名字,可以自己修改
root (hdX,Y)X和Y都代表一个数值,X是linux的根分区在哪个硬盘上。如你只有一个硬盘。那就是hd0。如果你的linux的一个发行版是安装在第二个硬盘,这个X,就是1。Y是代表您所安装的linux是在哪个区。这个数值有点不同,不太好说清楚。举个例子来说。比如我把Mandrake安装到第二块硬盘的第二个分区,也就是hdb5了。那他的root (hdX,Y),就应该写为root (hd1,4),也就是说Y=hdaZ或hdbZ中的Z减去1。
kernel (hdX,Y)/boot/vmlinuz root=/dev/hdaZ和initrd (hdX,Y)/boot/initrdimg就是要引导哪个硬盘分区的映像和initrd文件,一定要写正确XY的数值,不然无法引导系统。
quiet devfs=mount acpi=off vga=788为启动的参数。
rootnoverify (hdX,Y)如果不能启动Win的话,可以改为root (hdX,Y)来试试
chainloader +1意思是指定此分区上的第一个磁道来启动
想加入别的 *** 作系统到Redhat 中的GRUB中,也不过是如此,如者用其它发行版中的GRUB来引导别的发行版,原理也是一样的。这和Win2K和XP中的BOOTINI差不多,grub很简单吧,多试几次就会了。
以上就是关于如何用软盘做引导程序啊全部的内容,包括:如何用软盘做引导程序啊、如何设置电脑启动引导程序,用于重装系统。、Linux与Windows 10用grub引导教程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)