XP与Centos Linux双系统 默认启动顺序解决方案

XP与Centos Linux双系统 默认启动顺序解决方案
XP与Centos Linux双系统 默认启动顺序解决方案

XP与Centos 双系统

默认启动顺序解决方案

情况一:默认Centos启动,要改为XP启动

1、进入Centos系统,寻找系统启动文件,然后使用vi 或gedit 等指令打开配置文件进行更改。

2、配置文件位置:/etc/grub.conf 或/boot/grub/grub.conf

3、配置文件内容

#########################################################

#以下为配置文件内容

#########################################################

# grub.conf generated by anaconda

#

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

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

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

# root (hd0,2)

# kernel /boot/vmlinuz-version ro root=/dev/sda3

# initrd /boot/initrd-version.img

#boot=/dev/sda

default=0 #默认启动的系统,默认启动第一个系统。(更改其值,可改变启动顺序)timeout=5 #等待超时时间为5秒。

splashimage=(hd0,2)/boot/grub/splash.xpm.gz #开机图片地址。Hiddenmenu #是否显示开机菜单。

title XP #第一个系统(更改其顺序,可改变启动顺序)

rootnoverify (hd0,0)

chainloader +1

title CentOS (2.6.18-238.el5xen) #第二个系统

root (hd0,2)

kernel /boot/xen.gz-2.6.18-238.el5

module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/1 rhgb quiet

module /boot/initrd-2.6.18-238.el5xen.img

title CentOS-base (2.6.18-238.el5) #第三个系统

root (hd0,2)

kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/1 rhgb quiet

initrd /boot/initrd-2.6.18-238.el5.img

#########################################################

更改其值方案如下:

#########################################################

# grub.conf generated by anaconda

#

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

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

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

# root (hd0,2)

# kernel /boot/vmlinuz-version ro root=/dev/sda3

# initrd /boot/initrd-version.img

#boot=/dev/sda

default=1#默认启动的系统,默认启动第二个系统。(更改其值,可改变启动顺序)timeout=5 #等待超时时间为5秒。

splashimage=(hd0,2)/boot/grub/splash.xpm.gz #开机图片地址。

Hiddenmenu #是否显示开机菜单。

title XP #第一个系统(更改其顺序,可改变启动顺序)

rootnoverify (hd0,0)

chainloader +1

title CentOS (2.6.18-238.el5xen) #第二个系统

root (hd0,2)

kernel /boot/xen.gz-2.6.18-238.el5

module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/1 rhgb quiet

module /boot/initrd-2.6.18-238.el5xen.img

title CentOS-base (2.6.18-238.el5) #第三个系统

root (hd0,2)

kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/1 rhgb quiet

initrd /boot/initrd-2.6.18-238.el5.img

#########################################################

更改顺序方案如下:

#########################################################

# grub.conf generated by anaconda

#

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

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

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

# root (hd0,2)

# kernel /boot/vmlinuz-version ro root=/dev/sda3

# initrd /boot/initrd-version.img

#boot=/dev/sda

default=0 #默认启动的系统,默认启动第一个系统。(更改其值,可改变启动顺序)timeout=5 #等待超时时间为5秒。

splashimage=(hd0,2)/boot/grub/splash.xpm.gz #开机图片地址。Hiddenmenu #是否显示开机菜单。

title CentOS (2.6.18-238.el5xen) #第一个系统(更改其顺序,可改变启动顺序)root (hd0,2)

kernel /boot/xen.gz-2.6.18-238.el5

module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/1 rhgb quiet

module /boot/initrd-2.6.18-238.el5xen.img

title CentOS-base (2.6.18-238.el5) #第二个系统

root (hd0,2)

kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/1 rhgb quiet

initrd /boot/initrd-2.6.18-238.el5.img

title XP #第三个系统

rootnoverify (hd0,0)

chainloader +1

情况二:默认XP启动,要改为Centos启动

进入XP系统,右击我的电脑--属性--高级--(启动与故障恢复)设置--编辑

二种情况,这边只提供一个可能性的解决方案,可以仿照第一种情况来做,祝您好运!!

Windows和Ubuntu双系统完全独立的安装方法

Windows和Ubuntu双系统完全独立的安装方法 摘要: 安装Windows和Ubuntu双系统时,很多人喜欢先安装windows,然后安装ubuntu最后使用ubuntu 自带的grub进行引导,如果重新安装windows之后则ubuntu无法启动。还要花很长时间尽心修复。今天Ubuntu之家给大家推荐一种安装 ... 安装Windows和Ubuntu双系统时,很多人喜欢先安装windows,然后安装ubuntu最后使用ubuntu自带的grub进行引导,如果重新安装windows之后则ubuntu无法启动。还要花很长时间尽心修复。 今天Ubuntu之家给大家推荐一种安装方式,将两个系统完全独立开来,无论重新安装哪个系统都不会影响另一个系统。这里有一个要求,就是windows版本要比xp高,而且不支持xp。 第一步:安装windows系统。 第二步:安装liveusb-creator,并制作U盘版的ubuntu启动盘。 第三步:插入U盘安装ubuntu。 第四步:在windows启动管理器中添加ubuntu启动项。 大体分为四步,好像每个人都是这样安装。OK以本人安装的方式为例,详细说一下。 第一步安装windows,并流出30G左右的空白磁盘。(大小根据个人喜好设置,ps:分区时主分区个数不能多余4个,不然无法安装linux) 第二步可以参考https://www.360docs.net/doc/8218421860.html,/liveusb-creator-v3-11-7-releases.html,注意必须安装到C盘,如果不是安装到C盘,可能会有问题。该软件我屡试不爽,archlinux除外。 第三步安装linux,这一步是关键我们要把grub安装到linux分区中。ubuntu各个版本下载地址:https://www.360docs.net/doc/8218421860.html,/ubuntu-download

UEFI+GPT完美安装win10和centos7双系统

UEFI下完美安装win10+centos7双系统的方法 我用的是SSD+机械硬盘。SSD装win10,机械装Centos7其实无所谓,如果是2个SATA盘就设置AHCI,注意不要用IDE。 1.首先确定SSD和机械硬盘的分区为GPT分区 不会弄的在winpe下使用diskgenius将两块盘都转为GPT格式。如何制作win启动盘进入winpe?如果这个都不会那还是不要弄双系统了,自己百度。在此贴上winpe下用工具转GPT分区的方式,转换分区类型为GUID格式即可。 2. 进入主板BIOS,修改三个模式 2.1将SATA模式设置为AHCI

2.2 主板安全启动和快速启动都设置为关闭 新主板将CSM设为【关闭】,安全启动设置为【其他操作系统】。只要是支持UEFI的主板,就必须要改这三项。 3. 在SSD上安装win10 3.1安装win10这个过程就再赘述,安装在SSD上后,win10下面会有4个分区 3.2 下载EasyUEFI这个软件可以看到,具体在哪下自己百度吧。 3.3 安装完win10之后取消快速启动(这一步很重要)

4. 下载centos 7 用ultraiso刻录为启动盘 4.1 注意,为了方便起见,windows下修改这个启动盘的卷标为centos7 4.2 重启,进入BIOS,和上面装win10一样选择带UEFI的那个U盘安装centos7 4.3 在进入到安装界面时,光标指向第一项【Install CentOS 7】 按e编辑这项的内容,不论开头是啥,找到stage2=hd:LABEL=***** quiet这一段, 改为stage2=hd:LABEL= centos7 quiet即可,然后按ctrl+x进入centos 安装界面。其实就是这个LABLE=的内容就是要和你在windows下面这个U盘的卷标一致。 5.安装完成后,centos会自动将windows10的UEFI加入到其启动目录中,这一点相对于windows来说要厚道,所以要先装win10再装centos7.安装到这里其实已经结束了。 6. 收尾美化 6.1 使用EasyUEFI可以在windows下将UEFI启动项进行增加、删减和排序。 比如说我第一个是直接进入win10的,第二个是在硬盘开辟了一个500M大小的FAT32空间,在centos下打开SSD上的windows10的EFI分区,将其所有内容拷贝到这个里面即可,我这是将Microsoft改为了weiruan(随便改),然后将centos下的/boot/efi文件夹下面的文件拷贝到这个EFI文件夹里面,和weiruan一样,可以改名为centos也可

linux启动过程

Linux系统启动过程分析 by 王斌斌 binbinwang118@https://www.360docs.net/doc/8218421860.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下硬盘安装Ubuntu双系统

Win7下硬盘安装Ubuntu11.04双系统 欢迎大家访问我们的网站:Linux起点:https://www.360docs.net/doc/8218421860.html, 起点论坛:https://www.360docs.net/doc/8218421860.html,/bbss 起点超级Q群:㈠10218442 ㈡92186523 ㈢90282859 ㈣106637392 一、准备工作(在win7下操作完成) 1.从官网https://www.360docs.net/doc/8218421860.html,上下载镜像文件,大小接近700M。 2.下载并安装easybcd。easybcd是一款很优秀的系统引导软件,功能强大,最关键的是傻瓜式一站式简易操作,极其适合新手使用!网上很多说用grubdos安装,但对于菜鸟的我来说,操作太麻烦而且容易引导失败! 3.腾出一个空盘,点击右键格式化之后把它删除(这个盘最好是在硬盘的后面,因为Windows系统不能识别Linux系统分区,如果将ubuntu装在D盘,将D盘删除并建立Linux系统分区后,原来的E盘就会变成D 盘,安装在E盘的软件会出现系统注册表路径不对称,要重新安装一遍软件)。网上很多说使用磁盘压缩功能以整理出空白分区,这个方法也可行,但这个盘要保证有10G空间以上比较稳妥。 4.安装好easybcd2.0后,启动软件: 按照上图的序号依次点击“Add New Entry”——“Neo Grub”——“Install”,点到“Install”后出面下面的界面,再点“Configure”。

点击“Configure”按钮后,会出现一个记事本文件,将下面的代码粘贴到文件尾部: title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-11.04-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8 initrd (hd0,0)/initrd.lz 如下图:

keepalived编译安装配置自启动

Centos配置Keepalived 做双机热备切换 分类:网站架构2009-07-25 13:53 7823人阅读评论(0) 收藏举报centosserverdelayauthenticationsnscompiler Keepalived 系统环境: ************************************************************ 两台服务器都装了CentOS-5.2-x86_64系统 Virtual IP: 192.168.30.20 Squid1+Real Server 1:网卡地址(eth0):192.168.30.12 Squid2+Real Server 2:网卡地址(eth0):192.168.30.13 ************************************************************ 软件列表: keepalived https://www.360docs.net/doc/8218421860.html,/software/keepalived-1.1.17.tar.gz openssl-devel yum -y install openssl-devel *************************************************************** 配置: 配置基于高可用keepalived,确定LVS使用DR模式 1.安装配置keepalived 1.1安装依赖软件如果系统为基本文本安装,需要安装一下软件 # yum -y install ipvsadm # yum -y install kernel kernel-devel # reboot 重启系统切换内核 # yum -y install openssl-devel ;安装keepalived依赖软件 #ln -s /usr/src/kernels/`uname -r`-`uname -m`/ /usr/src/linux

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下安装ubuntu双系统

Win7下安装ubuntu双系统的经验分享author: Jeans 生物信息的,心血来潮想感受一下linux 系统挑来选去选择了ubuntu 10.10。呵呵,惭愧啊,其实只是看了china unix 的下载排名而已。 废话不多说了,进入正题。哦,交代一下,本人的是宏基4741g gt320 本本。 如果没记错的话我光安装就搞了大约一整天。我是按照网上的教程做的。 1 准备工作 1.1下载 easy bcd 2·0 和你选择好的ubuntu 的iso镜像文件。 1.2将你的电脑的磁盘最后腾出一块区域,我是这么做的:右击计算机,管理,磁盘管理然后将F盘压缩卷腾出一块30G左右的区域,新区要用FAT32格式,并且不要新加卷。 1.3将你的镜像文件放在某个盘的根目录下(我的是F盘),网上说这个盘也一定要是FAT32格式,这个我没注意,反正我的不是。打开镜像文件,也就是双击一下不是解压。找到casper文件夹下的vmlinuz和innitrd·lz文件解压并复制到C盘根目录下:这个说明一下解压复制我的理解是在C盘根目录要有casper文件夹里面有那两个文件,根目录下还要另外有那两个文件。我就是这么做的。 1.4安装打开 easy bcd,按照下图做

两张图直接从网上拿来的应该没什么问题。点击configure 命令后出现一个文本编辑窗口,将下面的命令敲入并保存: title Install Ubuntu root (hd0,0) kerne (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso ro quiet splash locale=zh_CNUTF-8 initrd (hd0,0)/initrd.lz 结果如图 图片也是网上的。命令中加黑的部分是你镜像的名字。这个过程中一定要注意的是在结束时要保证install/remove那个键写的是remove。 好了,准备工作完成,以上工作都是在WIN7下完成的。点击easy bcd上的tool按钮的重启计算机选项。 2 开始安装 2.1重启进入neogrub bootloader 选项,进入ubuntu的演示桌面,点击应用程序—附件--终端,命令行输入sudo umount -l /isodevice 回车(注意空格)。这个网上说是防止出现“无法卸载挂载点”的错误,我在后来的安装过程中确实是出现了这个错误,所以这个一定要输入。 2.2点击桌面上的安装系统,按照向导一步一步操作,当到了问你怎么对硬盘分区时(具体的对话框我忘了)选择手动分区,在分区界面

服务器安装centos 7系统教程

给服务器安装系统,因为没做过,一切都是从网上找的方法,遇到问题也不知道是什么问题,半天也搜不出解决方法,好在最后总算安装好了,这里就整理一下安装过程,并总结一下自己遇到的问题。 我们安装的是centos 7,其他Linux系统版本感觉也可以参照安装。 准备:机器、u盘(比要安装的系统大)、系统镜像、软碟通。 第一步,制作启动u盘 1、打开软碟通,点击“文件”->“打开”找到自己下好的镜像,点击加载 2、插入u盘,点击“启动”->“写入硬盘映像”

这个位置显示你u盘的名称 3、依次点击“写入”->”确定“,等写入完成,启动盘就制作好了。

第二步、安装 1、服务器一般是不配备显示器、鼠标、键盘这些东西的,需自备 2、插好u盘,启动服务器,进入BIOS(我安装的曙光机器是按delete键进入,具体 按哪个键各位对应机器品牌去网上查)切到“boot”菜单,点击进入第一选项“boot device priority“,将usb项置顶。然后保存退出。

3、之后机器自动选择usb启动,出现如下选择,点击“Install CentOS 7“选项,进入安装界面 选择语言 继续后,进入下面界面

这里我们设置三个部分“软件选择“、”安装位置”和”网络和主机名“ 首先点击“软件选择“ 这是一个在虚拟机上安装的图,如果你的机器上除了u盘外,还有硬盘,那再“本地标准磁盘“下就会有硬盘信息,我们选择安装的硬盘。”分区“选项我选的是”自动配置分区“,你们也可以按照自己的需要,选择”我要配置分区“然后自己选择分多少个区,每个区的大小。点击完成。 “软件选择“我选的是”最小安装,你们可以根据需要选择其他部分

UEFI启动下 Windows10+Ubuntu双系统安装

UEFI启动下Windows10+Ubuntu双系统安装 注意: Uefi启动只能使用Ubuntu引导,不能使用Win引导 链接:https://www.360docs.net/doc/8218421860.html,/ysy950803/article/details/52643737 第一步最重要的就是你要分区,Linux没有什么C盘D盘的概念,只有分区挂载目录的概念,所以你在Windows下只需要分出一块较大的未分配空间就行,记住不要去格式化,保证其“未分配”属性(Linux的文件系统和Win是不一样的,NTFS和FAT32都不适用)。 用Win自带的磁盘管理不能合并不相邻的未分配空间,所以你要想C盘割一点,D 盘割一点,再合在一起那是不行的,解决办法是在使用分区助手合并,但比较耗费时间 第二,你必须要有一个U盘,然后使用软碟通或者USBWriter把iso系统镜像文件烧录进去,这是比较传统的方法,UEFI启动,不需要刻录工作了,直接将iso里的所有文件解压至U盘即可。 然后关闭Windows的快速启动,重启电脑,进入BIOS后,关闭Security Boot (部分电脑没有这一项,就不用管了),最后选择UEFI下的U盘启动 选中USB启动,回车后即进入Ubuntu安装流程,

按照正常的步骤,如果你选择了安装更新和第三方软件,那么一定要记得联网,否则会卡死在最后的进度条上,所以最好不要勾选。另外,不要选择“与其它系统共存”那一项,而选择最后那个“其它选项(创建自己的分区)”。 分区!下面依次点击新建分区表来挂载分区。 1.swap交换空间,这个也就是虚拟内存的地方,选择主分区和空间起始位置。 如果你给Ubuntu系统分区容量足够的话,最好是能给到你物理内存的2倍大小 2.新建efi系统分区,选中逻辑分区和空间起始位置,大小最好不要小于256MB, 系统引导文件都会在里面,它的作用和boot引导分区一样,但是boot引导是默认grub引导的,而efi是UEFI引导的。也就是最后的挂载点里没有“/boot” 这一项,否则就没办法UEFI启动两个系统了。 3.挂载“/home”,类型为EXT4日志文件系统,选中逻辑分区和空间起始位 置,这个相当于你的个人文件夹,类似Windows里的User,总的来说,最好不要低于8GB,。 (这里特别提醒一下,Ubuntu最新发行版不建议强制获取Root权限,因为我已经玩崩过一次。所以你以后很多文档、图片、包括免安装软件等资源不得不直接放在home分支下面。你作为图形界面用户,只对home分支有完全的读写执行权限,其余分支例如usr你只能在终端使用sudo命令来操作文件,不利于存放一些直接解压使用的免安装软件。因此,建议home分支多分配一点空间,32GB最好……)

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开机菜单这里选择哪个系统就会载入相应的核心;

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 win8下U盘安装ubuntu(linux)双系统教程

WIN7下安装unbuntu双系统教程(U盘安装) 声明:win8已经测试,成功! 一、安装环境 win7系统 二、安装ubuntu首先需要准备以下工具以及安装包: 1、ubuntu系统安装包(本人所用的安装包为ubuntu12.04 64位) 下载地址:https://www.360docs.net/doc/8218421860.html,/download/desktop 个人建议下载12.04版本,因为稳定,虽然安装完成后有一个僵尸进程(桌面的),但是很稳定 2、刻录软件,推荐软碟通,会提示注册,选择继续使用 下载地址:https://www.360docs.net/doc/8218421860.html,/s/1qW783TE 3、一个大于2G的U盘 4、EasyBCD软件,此软件是同来作为系统引导所用 下载地址:https://www.360docs.net/doc/8218421860.html,/download/90611.html 三、准备安装 步骤一:在WIN7系统下创建空白磁盘分区 1、回到桌面,鼠标右键点击我的电脑,选择属性,结果如下

2、进入然后选择磁盘管理,结果如下: 3、选择你认为剩余磁盘空间够大的磁盘,比如D盘,右键点击磁盘,选择压缩卷,结果如下:

4、然后就是分区的大小了,个人建议分个50G出去最好,然后等待,最终结果如下:压缩后会发现多出一块未分区磁盘(绿色分区),如果选择的压缩大小是50G,则绿色的的应该是50G可用空间。 好了,磁盘分区到此结束,现在进行第二步; 步骤二:用软碟通将UBUNTU的镜像写入U盘 1、安装并打开软碟通,插上U盘,并且最好备份你的U盘,因为之后需要格式化 2、进入软碟通,进行如下操作 选择文件,并且打开你下载的UBUNTU所在的目录,选择unbuntu镜像,选择打开,如图:

CentOS7以root权限开机自启动程序设置详解教程

智能选矿系统服务端——以root权限开机自启动程序 ——众联工程室2016.04.07 本手册仅针对linux系统版本为centOS7,其他linux系统未做测试,不能用做指导。Centos7 系统服务脚本目录:/usr/lib/systemd/ 的下面有system(系统)和user(用户)目录之分,如需要程序在开机时没有登录用户账户之前就能启动运行,把自己编写的xxx.service保存在/usr/lib/systemd/system(系统)目录里;如需要程序在开机时在登录用户账户之后才能启动运行,把自己编写的xxx.service保存在/usr/lib/systemd/user目录里。 这里以程序在开机时没有登录用户账户之前就能启动运行为例, 一,建立服务xxx.service文件: /usr/lib/systemd/system/xxx.service 内容如下, 1.[Unit] 2.Description=ceshi 3.After=network.target 4.[Service] 5.Type=simple 6.ExecStart=/usr/bin/gnome-calculator start 7.ExecReload=/usr/bin/gnome-calculator restart 8.ExecStop=/usr/bin/gnome-calculator stop 9.PrivateTmp=true 10.[Install] 11.WantedBy=multi-user.target 二, xxx.service内容解析: [Unit]:服务的说明

windows7下安装ubuntu双系统

一、安装win7 坛子里太多了,随便找一篇就可以了。 二、分区 重新分一块用来安装ubuntu10.04的硬盘空间,我当时是直接删了50G的空间来安装。是直接删掉的,没有格。 三、安装Ubuntu (1)修改启动项,添加grub引导,很重要 ①下载最新版本的 Grub4DOS 下载地址:https://www.360docs.net/doc/8218421860.html,/Linux/2009-01/18027.htm 下载并解压缩后,将目录中的grldr , grldr.mbr, grub.exe三个文件复制到C盘根目录下。注意是根目录哦 ②在下载好的Ubuntu 10.04系统iso文件中,casper 文件夹目录下,找到vmlinuz、initrd.lz解压,并复制到C盘根目录下(无需解压整个casper文件夹,整个casper文件夹很大,只解压需要的两个就可以了)。 Ubuntu10.04的iso文件直接去官网下吧,开源的,免费~~记得这个iso也放到c盘根目录。 ③C 盘根目录下建立menu.lst文件,内容为: color black/cyan yellow/cyan timeout 30 #等待时间 default /default title Microsoft Windows 7 #这里是进入win7的引导 root (hd0,0) #指向c盘 savedefault makeactive chainloader +1 title Install Ubuntu 10.04 root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/Ubuntu10.04-desktop- i386.iso ro quiet splash locale=zh_CN.UTF-8 #红色部分是下载下来的Ubuntu镜像文件的名称,请根据自己的情况修改 initrd (hd0,0)/initrd.lz

相关文档
最新文档