搜档网
当前位置:搜档网 › 双系统Linux下系统启动顺序更改

双系统Linux下系统启动顺序更改

双系统Linux下系统启动顺序更改
双系统Linux下系统启动顺序更改

linux多核心的启动菜单修改默认启动为windows

ubuntu/linux升级后编辑多核心的启动菜单并修改默认菜单为windows

备份一下源文件: cp /boot/grub/menu.lst /boot/grub/menu.lst.backup

编辑菜单文件: sudu gedit /boot/grub/menu.lst

然后会打开文本编辑器:

在不要的核心启动项目的行前面添加#即可,例如

#title Ubuntu, kernel 2.6.17-10-generic

#root (hd0,2)

#kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda3 ro quiet splash locale=zh_CN

#initrd /boot/initrd.img-2.6.17-10-generic

#quiet

#savedefault

#boot

#title Ubuntu, kernel 2.6.17-10-generic (recovery mode)

#root (hd0,2)

#kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda3 ro single

#initrd /boot/initrd.img-2.6.17-10-generic

#boot

最后一段的window复制到引导段的最前端:

# This entry automatically added by the Debian installer for a non-linux OS

# on /dev/sda1

title Microsoft Windows XP Professional

root (hd0,0)

savedefault

makeactive

chainloader +1

分割段复制到第二段,也可以删除:

# This is a divider, added to separate the menu items below from the Debian

# ones.

title Other operating systems:

root

其中各个段的title就是启动菜单项目的名称,可以自己修改,例如

title Other operating systems:

可以修改为:

title --------------------------------

这样更加清晰一些.

启动菜单还有颜色可选择,默认是被注释掉的,详情请查看相关注释,好像是#color那一行.默认有蓝白/黑白模式,也可以自己填入其他颜色

方法2:

1、打开命令行终端;

2、输入:

sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.bak

sudo gedit /boot/grub/menu.lst

注:第一句做备份用。

3、假设文件内容如下:

-------------------------------------------------------------

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,2)

# kernel /vmlinuz-version ro root=/dev/hda5

# initrd /initrd-version.img

#boot=/dev/hda

default=1

timeout=5

splashimage=(hd0,2)/grub/splash.xpm.gz

title Fedora Core (2.4.22-1.2115.nptl)

root (hd0,2)

kernel /vmlinuz-2.4.22-1.2115.nptl ro root=LABEL=/ hdc=ide-scsi rhgb

initrd /initrd-2.4.22-1.2115.nptl.img

title winxp

rootnoverify (hd0,0)

chainloader +1

-------------------------------------------------------------

现在default值为0,意即启动排行第一的操作系统,这里代表的就是Ubuntu, kernel 2.6.15-23-386。

现在把它修改成“default 1”,那么XP就成为默认的操作系统了。

因为从零数起,以title打头的Microsoft Windows XP Professional这一行排序为1。

另外我们还可以通过修改timeout的值来变更默认等待时间。

附:windows修改启动项

1、可以在打开运行→msconfig →boot.ini 进行修改若此方法不能修改见下

2、进入你系统盘根目录,菜单栏→工具→文件夹选项→查看,去掉“隐藏受保护的操作系统文件”前的勾和选择显示所有文件和文件夹。

你现在可以看到在根目录下多了很多文件,你找到boot.ini 先右键取消掉只读属性,然后就可以修改了,你可以对比1的显示进行修改。改好后要记得还原哦!

双系统启动菜单修复(精)

你首先要做一些准备工作: 第一就是Windows 2000的安装光盘。还需要有至少两个硬盘分区,安装双系统的时候,很不建议你把两个系统安装到同一个分区中,这样可能会对以后的使用造成很多麻烦。如果以上的工作你全部做好了,那么就继续我们的安装吧。 假设你的Windows XP安装在C盘,你想安装Windows 2000到D盘,那么只要用Windows 2000的光盘启动系统,直接运行安装程序并安装到D盘就可以,只不过这样安装后双启动菜单会失效,只能进入Windows 2000。原因是这样的: 在Windows NT系统的启动中,用到了很多重要的系统文件,而在安装了XP的机器上再装2000的时候会把XP的NTLDR和https://www.sodocs.net/doc/915236619.html,两个文件替换为Windows 2000中版本较低的同名文件,而Windows 2000中的这两个文件是不能引导Windows XP的。因此我们的修复也就是用Windows XP中的文件替换被Windows 2000覆盖的该文件。 这两个文件都保存在C盘的根目录下,不过他们有默认的隐含、系统和只读属性,因此你不能用一般的方法替换,而首先要解除他们的隐含、系统和只读属性。方法是这样的: 进入到Windows 2000中,在运行中分别输入 attrib c:\ntldr –s –r –h attrib c:\ https://www.sodocs.net/doc/915236619.html, –s –r –h 每行输入完成后按下回车键。这时你已经完全的解除了这两个文件的系统、隐含和只读属性。现在从Windows XP的安装光盘的I386文件夹中复制这两个同名的文件出来到C盘根目录,并覆盖原文件。这时你的双启动菜单就已经恢复了。不过安全起见我们可以把那两个文件隐藏起来,方法是,在运行中分别输入: attrib c:\ntldr +s +r +h

linux启动过程

Linux系统启动过程分析 by 王斌斌 binbinwang118@https://www.sodocs.net/doc/915236619.html, Linux系统启动过程分析 操作系统的启动过程,实际上是控制权移交的过程。Linux 系统启动包含四个主要的阶段:BIOS initialization, boot loader, kernel initialization, and init startup.见下图: 阶段一、BIOS initialization,主要功能如下: 1.Peripherals detected 2.Boot device selected 3.First sector of boot device read and executed 系统上电开机后,主板BIOS(Basic Input / Output System)运行POST(Power on self test)代码,检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)。硬件配置信息及一些用户配置参数存储在主板的CMOS( Complementary Metal Oxide Semiconductor)上(一般64字节),实际上就是主板上一块可读写的RAM芯片,由主板上的电池供电,系统掉电后,信息不会丢失。 执行POST代码对系统外围关键设备检测通过后,系统启动自举程序,根据我们在BIOS中设置的启动顺序搜索启动驱动器(比如的硬盘、光驱、网络服务器等)。选择合适的启动器,比如通常情况下的硬盘设备,BIOS会读取硬盘设备的第一个扇区(MBR,512字节),并执行其中的代码。实际上这里BIOS并不关心启动设备第一个扇区中是什么内容,它只是负责读取该扇区内容、并执行,BIOS的任务就完成了。此后将系统启动的控制权移交到MBR部分的代码。 注:在我们的现行系统中,大多关键设备都是连在主板上的。因此主板BIOS提供了一个操作系统(软件)和系统外围关键设备(硬件)最底级别的接口,在这个阶段,检测系统外围关键设备是否准备好,以供操作系 “” 统使用。 阶段二、Boot Loader 关于Boot Loader,简单的说就是启动操作系统的程序,如grub,lilo,也可以将boot loader本身看成一个小系统。 The BIOS invokes the boot loader in one of two ways: 1.It pass control to an initial program loader (IPL) installed within a driver's Master Boot Record (MBR) 2.It passes control to another boot loader, which passes control to an IPL installed within a partition's boot sector. In either case, the IPL must exist within a very small space, no larger than 446 bytes. Therefore, the IPL for GRUB is merely a first stage, whose sole task is to locate and load a second stage boot loader, which does most of the work to boot the system. There are two possible ways to configure boot loaders: Primary boot loader: Install the first stage of your Linux boot loader into the MBR. The boot loader must be configure to pass control to any other desired operating systems. Secondary boot loader: Install the first stage of your Linux boot loader into the boot sector of some partition. Another boot loader must be installed into the MBR, and configured to pass control to your Linux boot loader. 假设Boot Loader 为grub (grub-0.97),其引导系统的过程如下: grub 分为stage1 (stage1_5) stage2两个阶段。stage1 可以看成是initial program loaderI(IPL),而stage2则实现了grub 的主要功能,包括对特定文件系统的支持(如ext2,ext3,reiserfs等),grub自己的shell,以及内部程序(如:kernrl,initrd,root )等。

如何在win7和xp双系统都安装在C盘下+修复win7引导项方法

windows 7+XP双系统共存C盘+ + 修复win7引导项方法 重要提示:C盘空间建议15G以上,空间不够的慎重,10G也能装,只是稍微有点勉强。建议空间不足的同学给C盘划点过来,不知道怎样弄的去百度一下如何重新划分硬盘分区大小。基本原理:更改XP安装路径,使XP安装在C盘的一个文件夹下,而不是根目录下,避免同名文件夹与Vista冲突。装完XP后将Vista安装在C盘根目录下,找出XP被禁用的Boot.ini文件,使双系统启动得以实现。最后使用第三方软件更改启动选项。 最关键的步骤:更改XP安装盘的安装路径。 Windows Vista和XP“水火不容”的原因:是因为它们有这样三个文件夹Documents and Settings,Programe Files,Windows 都是同名的,就是因为这些文件的重名导致前系统的被覆盖从而导致系统不能正常运行。我们拿Windows XP安装盘开刀,通过修改XP安装盘的办法使两个系统共存。 我们要修改两个文件WINNT.SIF和HIVESFT.INF文件,为了将Vista和XP安装在同一个分区中,为了防止其目录冲突影响系统正常的工作。我们修改XP的默认安装目录即可。 这里以雨林木风Windows XP SP3 精简安装版Y1.0 为例,教大家修改。 由于修改文件需要解压iso安装盘,建议将安装盘使用Winrar解压,更改文件,然后直接硬盘安装,省去了改完重新封包的麻烦。解压办法见下文。 1、修改WINNT.SIF文件 解压后,在I386文件夹内找到WINNT.SIF文件,右键点击“打开”,选“从列表中选择程序”,在程序列表里点选“记事本”,记得把“始终使用选择的程序打开这种文件”前面的勾去掉。 在文件中找到[Unattended]将其下的TargePath=“Windows”修改为TargetPath=”\\WinXP\\Windows”,同时在其下添加ProgramFilesDir=”\\WinXP\\Program Files”和CommonProgramFilesDir=”\\WinXP\\Program Files\\Common Files”并保存。 如图: 顺便提一句,下边的[UserData]下的FullName=”雨林木风” 和orgName=”https://www.sodocs.net/doc/915236619.html,”是安装后的注册信息,也可以更改,但出于对雨林木风工作组辛苦劳动的尊重,请根据个人情况定夺。本人就改成了Forever YLMF。 如图:

双系统启动菜单修复

Windows7启动菜单轻松搞定--bcdedit.exe [color=Red][/color] 昨天安装vista x64,没有把vista x86删除干净,导致系统启动出现多个选择菜单,按照习惯,是修改boot.ini文件,但是打开此文件,提示: Warning: Boot.ini is used on Windows XP and earlier operating systems. Warning: Use BCDEDIT.exe to modify Windows Vista boot options. 也就是说,要修改vista的启动菜单,需要使用专门的工具~~ 在c:\windows\system32中搜索到bcdedit.exe,但是双击没有反应,于是运行cmd打开命令行窗口,可以执行,但是总是提示: The boot configuration data store could not be opened. Access is denied. 访问被拒绝。 想了一下,应该是权限保护的问题。在网上搜索资料,发现执行Command Prompt以"Run as administrator"方式来运行,可以获得管理员权限。 执行bcdedit /?可以获得bcdedit的帮助信息。 第一次运行bcdedit,得到信息如下: Windows Boot Manager -------------------- identifier {bootmgr} device partition=D: description Windows Boot Manager locale en-US inherit {globalsettings} default {ntldr} displayorder {ntldr} {current} {6a80a10a-ba23-1243-be6a-c181f14c4040} toolsdisplayorder {memdiag} timeout 5 Windows Legacy OS Loader ------------------------ identifier {ntldr} device partition=D: path \ntldr description Earlier Version of Windows Windows Boot Loader

linux内核启动 Android系统启动过程详解

linux内核启动+Android系统启动过程详解 第一部分:汇编部分 Linux启动之 linux-rk3288-tchip/kernel/arch/arm/boot/compressed/ head.S分析这段代码是linux boot后执行的第一个程序,完成的主要工作是解压内核,然后跳转到相关执行地址。这部分代码在做驱动开发时不需要改动,但分析其执行流程对是理解android的第一步 开头有一段宏定义这是gnu arm汇编的宏定义。关于GUN 的汇编和其他编译器,在指令语法上有很大差别,具体可查询相关GUN汇编语法了解 另外此段代码必须不能包括重定位部分。因为这时一开始必须要立即运行的。所谓重定位,比如当编译时某个文件用到外部符号是用动态链接库的方式,那么该文件生成的目标文件将包含重定位信息,在加载时需要重定位该符号,否则执行时将因找不到地址而出错 #ifdef DEBUG//开始是调试用,主要是一些打印输出函数,不用关心 #if defined(CONFIG_DEBUG_ICEDCC)

……具体代码略 #endif 宏定义结束之后定义了一个段, .section ".start", #alloc, #execinstr 这个段的段名是 .start,#alloc表示Section contains allocated data, #execinstr表示Section contains executable instructions. 生成最终映像时,这段代码会放在最开头 .align start: .type start,#function /*.type指定start这个符号是函数类型*/ .rept 8 mov r0, r0 //将此命令重复8次,相当于nop,这里是为中断向量保存空间 .endr b 1f .word 0x016f2818 @ Magic numbers to help the loader

linux系统脚本的常见启动顺序

由于相关变量定义不同, 所以以下启动顺序仅供参考 在Redhat Redflag centos fc linux系统里面脚本的启动 先后: 第一步:通过/boot/vm进行启动 vmlinuz 第二步:init /etc/inittab 第三步:启动相应的脚本,并且打开终端 rc.sysinit rc.d(里面的脚本) rc.local 第四步:启动login登录界面 login 第五步:在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的/etc/profile.d/file /etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile 在Suse Linux (sles server or Desktop 10) 第一步:通过/boot/vm进行启动 vmlinuz 第二步:init /etc/inittab 第三步:启动相应的脚本,并且打开终端 /etc/init.d/boot 里面包括: . /etc/rc.status ./etc/sysconfig/boot ./etc/init.d/boot.d下面的脚本 ./etc/init.d/boot.local rc X.d(里面的脚本) 第四步:启动login登录界面 login 第五步:在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的/etc/profile.d/file /etc/profile /root/.bashrc /root/.profile 先后: 第一步:通过/boot/vm进行启动 vmlinuz 第二步:init /etc/inittab 第三步:启动相应的脚本,并且打开终端 rc.sysinit rc.d(里面的脚本) rc.local 第四步:启动login登录界面 login 第五步:在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的/etc/profile.d/file

安装了Win7以及XP双系统后,怎么卸载Win 7并删除win7启动项

许多安装了双系统的网友在卸载Windows 7时,会直接格式化Win7所在的系统分区,但这样一来,会发现以后系统启动时,启动菜单中还残留着Win7的启动项,该启动项是无效的,默认情况下,系统启动时会自动进入该无效的Win7启动项,导致“黑屏”,不得不再次重启手动选择以前的系统启动菜单。本文介绍几种清除Win7启动项的方法。 方法一: 卸载Win7并登录以前的系统后,在光驱中放入Win7的安装光盘,或用虚拟光驱加载Win7的安装镜像ISO 文件,假设该盘符为X。 点击“开始”——“运行”,输入cmd并回车,打开命令提示符窗口。 在命令提示符窗口中输入X:\boot\bootsect.exe /nt52 all /force(注意bootsect.exe后面有一个空格,all前面也有一个空格;X指的是Win7安装光盘所在的盘符),回车后等待几秒,系统会执行删除Win7启动项的操作,最后命令提示符窗口中会显示success之类的字符,提示操作成功。 然后退出命令提示符窗口,弹出光驱或卸载虚拟光驱,重启系统,会发现Win7的启动项已经消失了。 注: 1、根据上面这个原理,我们可以得出修复Win7启动项的方法,只需将命令改为X:\boot\bootsect.exe /nt60 all即可。 2、上述命令提示符方法中,采用的是从Win7安装盘中的boot文件夹中提取bootsect.exe文件执行操作的方法,我们可以将bootsect.exe文件提取到本地硬盘中,放在系统分区之外的其他分区文件夹里,例如放在D分区的123文件夹中,这样我们就可以在命令提示符窗口中执行如下命令即可删除Win7启动项: D: \123\bootsect.exe /nt52 all /force 方法二: 如果之前安装的是XP和Win7双系统,需要使用XP的系统安装盘清除Win7的启动项。在XP系统中,将XP安装盘放入光驱中,重启系统从光驱加载XP的安装程序,然后按R键进入系统修复,输入管理员密码(没有设置密码的可以不用输入),回车后,再输入fixboot并回车,完成后输入exit退出就可以了。 如果之前安装的是Vista和Win7双系统,则按如下方法清除Win7启动项:在Vista系统中,按Win+R打开“运行”窗口,输入msconfig并回车,打开系统配置程序,会发现里面有两个“启动”选项,其中一个是我们熟悉的类似于XP系统中的应用软件是否随系统启动而启动的设置窗口,另一个就是双系统启动菜单的管理窗口,把下拉菜单中的Windows 7删除,重启系统时就会发现已经清除了Win7的启动项

linux grub 引导启动过程详解

linux grub 引导启动过程详解 2008-01-08 17:18 这几天看了很多文档,算是对linux的启动过程有了比较细致的了解. 网上有很多文章谈到这方面的内容,但总觉得没有一篇完全的解析linux启动的 细节,下面是我小弟在学习的过程中总结出来的一些东东.这个是完整的linux启动过程, 不涉及内核,但是我觉得比较详细哦. (由于本人比较懒,这一段是从网上抄的) 机器加电启动后,BIOS开始检测系统参数,如内存的大小,日期和时间,磁盘 设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查 软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设 备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区, 寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader. linux里面的boot loader通常是lilo或者grub,从Red Hat Linux 7.2起,GRUB( GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。那么启动的时候grub是如何被载入的呢 grub有几个重要的文件,stage1,stage2,有的时候需要stage1.5.这些文件一般都 在/boot/grub文件夹下面.grub被载入通常包括以下几个步骤: 1. 装载基本的引导装载程序(stage1),stage1很小,网上说是512字节,但是在我的系统上用du -b /boot/grub/stage1 显示的是1024个字节,不知道是不是grub版本不同的缘故还是我理解有误.stage1通常位于主引导扇区里面,对于硬盘就是MBR了,stage1的主要功能就是装载第二引导程序(stage2).这主要是归结于在主引导扇区中没有足够的空间用于其他东西了,我用的是grub 0.93,stage2文件的大小是107520 bit. 2. 装载第二引导装载程序(stage2),这第二引导装载程序实际上是引出更高级的功能, 以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或是输入命令。由于stage2很大,所以它一般位于文件系统之中(通常是boot所在的根 分区). 上面还提到了stage1.5这个文件,它的作用是什么呢你到/boot/grub目录下看看, fat_stage_1.5 e2fs_stage_1.5 xfs_stage_1.5等等,很容易猜想stage1.5和文件系统 有关系.有时候基本引导装载程序(stage1)不能识别stage2所在的文件系统分区,那么这 时候就需要stage1.5来连接stage1和stage2了.因此对于不同的文件系统就会有不同的stage1.5.但是对于grub 0.93好像stage1.5并不是很重要,因为我试过了,在没有stage1.5 的情况下, 我把stage1安装在软盘的引导扇区内,然后把stage2放在格式化成ext2或者fat格式的软盘内,启动的时候照常引导,并不需要e2fs_stage_1.5或者fat_stage_1.5. 下面是我的试验: #mkfs.ext2 /dev/fd0 #mount -t ext2 /dev/fd0 /mnt/floppy #cd /mnt/floppy #mkdir boot #cd boot #mkdir grub (以上三步可用mkdir -p boot/grub命令完成) #cd grub #cp /boot/grub/{stage1,stage2,grub.conf} ./ #cd; umount /mnt/floppy

linux启动顺序讲解

一、简单介绍RHEL开机时的先后顺序 BIOS —> MBR —> Kernel —> init 1、当电脑一打开电源时电脑就会进入BIOS(BIOS的工作主要是检测一些硬件设备); 2、检测完后会进入MBR也就是boot loader(MBR位于硬盘的第一个扇区总共512bytes,其中前446bytes里面的编码是在选择引导分区也就是决定要由哪个分区来引导); 3、载入系统的Kernel(核心),在Kernel里主要是载入电脑设备的驱动程序,以便可以控制电脑上的设备,并且以只读方式来挂载根目录,也就是一开始只能读取到根目录所对应的那个分区,所以/etc、/bin、/sbin、/dev、/lib这五个目录必须同根目录在一个分区中; 4、最后启动init这个程序,所以init这个程序的进程编号为1,是Linux中第一个执行的程序; init这个程序会根据Run level来执行以下这些程序: ·/etc/rc.d/rc.sysinit; ·/etc/rc.d/rc 和etc/rc.d/rc?.d/ ·/etc/rc.d/rc.local ·如果有适当的图形界面管理程序 二、BIOS初始化时主要的三个任务 BIOS(B asic I nput/O utput S ystem) 1、电脑周边设备的检测,加电自检POST (Power on self test); 2、BIOS会选择要由哪一个设备来开机,例如:软盘启动、光盘启动、网络启动、最常见的从硬盘启动; 3、选择好由哪个设备开机后,就开始读取这个设备的MBR 引导扇区; 三、介绍Boot Loader中的主要工作 1、Boot Loader可以安装在两个地方: ·安装在硬盘的MBR中; ·当有时候MBR中被其他开机管理程序占用就可以将Boot Loader 安装在硬盘中的其中一个分区的引导扇区上,; 2、Boot Loader的程序码分为两个阶段: (1)Boot Loader第一阶段的程序码非常小,只有446bytes,可以存入在MBR或是某一个分区的引导扇区里, (2)Boot Loader第一阶段的程序码是从boot 分区来载入的,就是说Boot Loader 第二阶段程序码存放在/boot 这个分区中; 3、下面来看三个Boot Loader 的开机流程范例,如在一块硬盘中安装了两个系统分别为:windows 2003 和Red hat linux 当电脑开机后,会先载入MBR通过第一阶段程序码来载入第二阶段程序码,进入GRUB开机菜单这里选择哪个系统就会载入相应的核心;

win7 linux启动引导项恢复

我电脑本身是win7 系统,之后有装了red hat 。 由于没有经验,在安装linux时选择把引导文件安装在sda 上,这样windows7 原有的引导文件就被覆盖了,变成linux的引导文件。此时,两个系统仍然可以启动,一切正常,但是默认启动的是linux。用过红帽的应该知道,先出现那个进入红帽的倒计时,如果你不按enter ,就直接进红帽了。而你点击回车之后,才出现系统选择界面。那个other 就是你的win7 。如果你把win7 作为主系统的话,每次都得选择,如果一不小心错过了那3秒钟,对不起了只有等半天重启,接着选。这就让人很蛋疼了。 于是我进入win7 之后就自以为是修复引导文件,以为这样就好了。事实上造成更大的错误。 用easyBCD 修复引导文件之后,不仅没有linux启动项了,win7 开机也成盗版了~~~~~所以是正版的要慎重了,提前备份好激活文件。我也就麻烦一下又重新激活······正常进入win7 之后就在想怎么恢复linux 想起不久前曾用rescue模式恢复启动项就准备试试进入rescue模式后挂载系统看了grub.conf 配置文件,没有问题,我就郁闷了。 之后百度才知道原因。“由于操作者不知道grub2分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(或者那一部分已经删除了)。”https://www.sodocs.net/doc/915236619.html,/zyf837368104/article/details/7627065上面的链接的文章指明原因所在,但是所提供的方法却不对。之后我又在某论坛(https://www.sodocs.net/doc/915236619.html,/thread-1924253-1-1.html)看到,上面文章适用于grub1不适用grub2 。至于两者的差别我不清楚。但是我想,既然引导文件坏了,就重装一次。就敲入grub-install /dev/sda8 (sda8 是linux的/boot分区。至于你的,根据实际情况,貌似可以用find 命令查找)安装成功后重启系统仍然没有linux启动项,就用easyBCD重新创建一个

Linux启动过程详解

深入浅出:Linux的启动流程刨析 Linux的启动过程,是一个Linuxer必须要熟练掌握的。通过系统的启动过程,可以更深入的理解Linux,假如Linux系统出问题的话,可以通过启动过程来分析原因,解决问题。而且,在掌握了Linux的启动流程后,还可以借助宿主机来打造自己的Linux。 下面是我画的一张简单的Linux启动流程图 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1、/sbin/init 2、/etc/inittab 3、/etc/rc.d/rc.sysinit 4、/etc/rc.d/rcN.d //这是几个文件夹N代表数字1,2,3,4.. 5、/etc/fstab 1、关于/sbin/init与/etc/inittab 关于/sbin/init ,它是一个二进制可执行文件,为系统的初始化程序,而/etc/inittab是它的配置文件,我们可以通过/etc/inittab来一睹它的功能,里面的内容是一种固定的文本格式,id:runlevels:action:process 我们来通过它的内容来学习它之前,先了解写运行级别的分类(0-6): 0:关机half

1:单用户模式singel user 2:多用户模式multi user ,不提供nfs服务without nfs 3:完全多用户字符模式full multiuser text mod 4:系统预留officially undefined 5:图形登录界面graphical login 6:重启reboot id:3:initdefault: //这里定义linux的启动时的运行级别,可以看到我的主机的启动级别是3 # System initialization. si::sysinit:/etc/rc.d/rc.sysinit //紧接着,运行系统第一个脚本/etc/rc.d/rc/sysinit //它的action:sysyinit指的是定义系统初始化过程 l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 //然后就是加载服务了,他们被定义在/etc/rc.d/rcN.d l3:3:wait:/etc/rc.d/rc 3 //action:waite 这个进程在在对应级别启动一次,知道它结束为止,我的系统启动级别为3,所有执行rc 3对应的服务 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ca::ctrlaltdel:/sbin/shutdown -t3 -r now //这里定义了一个组合快捷键,熟悉吧,没错就是重启,你可以把它注释掉不用 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"//这里定义了ups电源,powerfail 指的是如果突然断电,它对应的process命令是,提示用户系统电源失效,将要关机,提醒用户把数据都存储好 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"//这里的action,powerokwaite,指的是系统恢复供电,关机取消...

 1:2345:respawn:/sbin/mingetty tty1 //开启终端,在系统准备工作做好后,就会启动出6个终端,tty1~6 mingetyy就是终端的执行命令 2:2345:respawn:/sbin/mingetty tty2 //可以看到他们对应的级别是2345,你也可以注释

Linux引导与配置文件加载过程

Linux引导及配置文件加载过程解读 文章分类:操作系统 ?? 本文包括3部分内容 1、 Linux的引导过程 2、 Linux 的运行级别 3、 /etc/inittab与/etc/rc.d/ 与/etc/rc.d/init.d的关系 关键词:Linux引导过程、运行级别、inittab与 init.d 与 rc.d 一、 Linux的引导过程 系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。 内核被加载到内存中之后,就开始执行我们的系统设置了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的用户级程序,完成引导进程。 二、运行级别(run level) Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init 进程上来首先做的事是去读取/etc/目录下 inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到 6 ,具有不同的功能。不同的运行级定义如下:# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动) # 1 - 单用户模式 # 2 - 多用户,没有 NFS # 3 - 完全多用户模式(标准的运行级) # 4 –系统保留的 # 5 - X11 (x window) # 6 - 重新启动(千万不要把initdefault 设置为6,否则将一直在重启) 三、 /etc/rc.d/与/etc/rc.d/init.d的关系 先解释一下init.d。这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动、停止、重启这些服务。 /etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行。程序运行到这里(init进程读取了运行级别),就开始有选择地启动服务了,这时刚才说的运行级别就起作用了。在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9的源码中它都是一上来就check_runlevel(),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在rc5.d下,但是放在这个rc5.d下的都是一些链接文

双系统,win7下一键Ghost,进入grub rescue的解决方法

双系统,win7下一键Ghost,进入grub rescue的解决方法 本人安装的是win7+ubuntu10.10,硬盘直接安装。因为win7下装了几个大软件,所以决定一键Ghost备份一下,结果重启之后,就进入了grub rescue界面: error:unknown filesystem grub rescue> 研究了半天,才解决这个问题。先说说是怎么回事。 安装ubuntu时,启动是用grub2进行启动。我的win7在C盘,Ubuntu空间是从D盘里分出来的。我们知道,每次系统启动时都是先进入grub,也就是先在ubuntu的启动目录里选择进入哪个系统,如果按分区来讲,grub2在(hd0,msdos7)也就是我的ubuntu所在的分区。那么启动时root应该设在(hd0,msdos7),可一键ghost会修改启动,它把root改在(hd0,msdos9),这是个windows分区,也就是NTFS分区,ubuntu是不能识别这种文件系统的,所以就有了error:unknown filesystem,这种情况下自然不能启动,那么grub2就会启动grub rescue模式,就是修复模式。那么我们要做的就是把grub重新指向(hd0,msdos7)。 下面是具体步骤: ①查看分区 因为每个人的分区不一样,所以我们要查看分区,用ls指令 grub rescue>ls 回车后,就会出现 (hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1) grub rescue> 注:我用的是grub2,对于grub用户,分区前没有msdos字样 上面是我的分区,每个人的不一样。 grub rescue>set 回车 prefix=(hd0,msdos9)/boot/grub root=hd0,msdos9 从上面可以看出来现在我的系统是从(hd0,msdos9)里启动的。 那么怎么知道ubuntu在哪个分区呢?进入第二步 ②寻找ubuntu所在分区 这一步我们要一个一个的试, 还是用ls指令 先试下在不在(hd0,msdos8)里边 grub rescue>ls (hd0,msdos8) 回车会发现,不是,还是unknown filesystem 接着来 。。。。。。。。。 当我试到 (hd0,msdos7)的时候,可以看到一下子多了很多字,这些就是我ubuntu主文件夹下的文件夹和文件的名字。OK,找到分区了!

双硬盘双系统启动的顺序调整及设置方法

双硬盘双系统启动的顺序调整及设置方法 现在很多朋友的机子上都是挂2+硬盘的,尤其是很多喜欢玩电脑的用户,打开机箱没几个只挂一块硬盘的。尤其是很多需频繁操作计算机硬件朋友及部分大学生,他们的计算机几乎都是长期裸奔的。言归正传,本文说一下双硬盘启动顺序调整这个“小问题”。 一、在BIOS中调整两块硬盘的启动顺序 方法如下: 开机按下DEL键进入BIOS——Advanced Bios Features(高级BIOS特性配置)——Hard Disk Boot Piority (硬盘启动优先级),打开后会看到当前系统的硬盘列表,控制光标移动到对应的硬盘上,只需要使用“+”、"-"即可调整硬盘的启动顺序(具体设置方法可参考该BIOS界面右侧的说明,可能有所不同),然后退出保存重启机子。该设置是一直保存在BIOS中的,下次启动仍然生效,除非硬件改变。 二、使用F12临时修改硬盘或其他设备的启动顺序 现在的主板包括本本一般都是支持临时启动顺序的调整的,大部分都是使用F12键进入的,具体在机子刚启动时候看一下屏幕的底下带有BootMenu字样的快捷键。 方法如下: 开机按下F12键进入BootMenu菜单,这里会列出一些常用的启动支持设备清单,比如USB、HDD、CDROM,包括其下属类型启动支持。要临时调整硬盘的启动顺序,只需要选中Hard Disk或HDD就可以看到当前系统硬盘列表,使用键盘PAGEUP、PAGEDOWN或+、-或上下键选中对应硬盘回车即可进入该硬盘启动。该设置是一次生效的,下次重启机子仍然采用BIOS的默认启动顺序。 三、使用EASYBCD修复启动菜单

首先假设您的双硬盘系统都是独立安装或相当于独立安装的,判断方法是,每块硬盘离开另外一块都是可以独立启动运行的,自行修改出来的兼容结果不算,除此之外,非独立的双系统硬盘都基本可以按照一块硬盘来处理,因为操作系统是相互关联的,也可以参考下面的文章进行双启菜单调整或设置。使用EASYBCD软件修复非常方便,具体可参考文章: Windows 7、Vista、XP双启利器EasyBCD v2.0下载及使用教程 补充学习手动解决方法: 如果双硬盘中带有Linux,使用GRUB、LILO作为多启菜单时,方法也不复杂只需手动修改 /boot/grub/menu.lst或/etc /lilo.conf,其他的比如XP对XP也很简单,只需要在主盘的boot.ini下增加multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="MS WinXP" /fastdetect一句即可,但是对于Vista和Windows 7的硬盘未必会有效果,天缘把这些组合全部列出来,如下表:

Linux启动全过程-由bootloader到fs

Linux启动过程 许多人对Linux的启动过程感到很神秘,因为所有的启动信息都在屏幕上一闪而过。其实Linux的启动过程并不象启动信息所显示的那样复杂,它主要分成两个阶段: 1.启动内核。在这个阶段,内核装入内存并在初始化每个设备驱动器时打印信息。 2.执行程序init。装入内核并初始化设备后,运行init程序。init程序处理所有程序的启动, 包括重要系统精灵程序和其它指定在启动时装入的软件。 下面以Red Hat为例简单介绍一下Linux的启动过程。 一、启动内核 首先介绍启动内核部分。电脑启动时,BIOS装载MBR,然后从当前活动分区启动,LILO获得引导过程的控制权后,会显示LILO提示符。此时如果用户不进行任何操作,LILO将在等待制定时间后自动引导默认的操作系统,而如果在此期间按下TAB键,则可以看到一个可引导的操作系统列表,选择相应的操作系统名称就能进入相应的操作系统。当用户选择启动LINUX操作系统时,LILO就会根据事先设置好的信息从ROOT文件系统所在的分区读取LINUX映象,然后装入内核映象并将控制权交给LINUX内核。LINUX内核获得控制权后,以如下步骤继续引导系统: 1. LINUX内核一般是压缩保存的,因此,它首先要进行自身的解压缩。内核映象前面的一些代码完成解压缩。 2. 如果系统中安装有可支持特殊文本模式的、且LINUX可识别的SVGA卡,LINUX会提示用户选择适当的文本显示模式。但如果在内核的编译过程中预先设置了文本模式,则不会提示选择显示模式。该显示模式可通过LILO或RDEV工具程序设置。 3. 内核接下来检测其他的硬件设备,例如硬盘、软盘和网卡等,并对相应的设备驱动程序进行配置。这时,显示器上出现内核运行输出的一些硬件信息。 4. 接下来,内核装载ROOT文件系统。ROOT文件系统的位置可在编译内核时指定,也可通过LILO 或RDEV指定。文件系统的类型可自动检测。如果由于某些原因装载失败,则内核启动失败,最终会终止系统。 二、执行init程序 其次介绍init程序,利用init程序可以方便地定制启动其间装入哪些程序。init的任务是启动新进程和退出时重新启动其它进程。例如,在大多数Linux系统中,启动时最初装入六个虚拟的控制台进程,退出控制台窗口时,进程死亡,然后init启动新的虚拟登录控制台,因而总是提供六个虚拟登陆控控制台进程。控制init程序操作的规则存放在文件/etc/inittab中。Red Hat Linux缺省的inittab文件如下:# #inittab This file describes how the INIT process should set up the system in a certain #run-level. # # #Default runlevel.The runlevels used by RHS are: #0-halt(Do NOT set initdefault to this) #1-Single user mode #2-Multiuser,without NFS(the same as 3,if you do not have networking) #3-Full multiuser mode #4-unused #5-X11 #6-reboot(Do NOT set initdefault to this)

相关主题