linux初始化系统 linux系统恢复出厂设置命令

大家好,如果您还对linux初始化系统不太了解,没有关系,今天就由本站为大家分享linux初始化系统的知识,包括linux系统恢复出厂设置命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

Linux操作系统安装教程

1/18

进入BIOS系统设定电脑从光盘启动。按F10保存退出。

2/18

插入Linux系统安装光盘,重启电脑。进入光盘的欢迎界面。可以直接按回车进行图形下安装(也可以输入 linux text按回车进入命令行下安装)。

3/18

回车后弹出提示你是否要校验光盘的对话框,单击“skip"回车。如下图:

4/18

进入安装向导界面,直接单击”Next",如下图:

5/18

进入语言选择界面,此处根据自己需要和喜好来选择。单击”Next“,如下图:

6/18

键盘选择,默认选择英文美式键盘。单击“NEXT",如下图:

7/18

弹出一个分区告警信息,”初始化磁盘会丢失掉之前的数据“,单击”YES",再单击“Next”.

8/18

系统默认对磁盘进行分区(你可以根据自己的需要另外自己分区),在这里我不需要其他分区,直接单击“Next”。

9/18

提示系统安装信息。(

Use a boot loader password前面打勾,表示给boot loader加一个密码,为了防止有人通过光盘进入单用户模式修改root密码)这里没有选中,直接单击“Next”,如下图:

10/18

弹出配置网卡信息,可以现在自定义网卡的IP,和配置主机名,默认是通过DHCP获得,你也可以点manually自定义一个主机名,如 mail.example.com。如果这两种方式都没有配置,那么linux会给你配置一个万能的主机名,即localhost.localdomain剩下的几个就不用配置了,默认留空。单击“Next”.

11/18

设定时区,选择我们所处的时区Asia/Shanghai。单击“Next”.

12/18

设定ROOT账号信息。单击“Next”。

13/18

这里根据自己的需要或喜好安装软件包。自定义安装,需要点下面的“customize now”然后“NEXT"。

14/18

在弹出的选项“Desktop Environments”右侧,把GNOME前面的勾去掉,这个就是图形界面的安装包,如果不去掉这个勾,就会安装图形界面。

15/18

将光标移动到“Applications”,选中需要的包。如下图:

16/18

同样的方法,移动光标到“Development”,“Servers”等选中自己的软件包。然后单击"Next".

17/18

系统将开始安装。并显示安装进度条。如下图:

18/18

安装完成以后,弹出如下图的提示信息。单击”Reboot“.系统开始重启。到此系统就已经安装完成了。

linux文件系统怎样初始化步骤

System V init启动过程

概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式.

1) BSD system init

2) System V init

大多数发行套件的Linux使用了与System V init相仿的init也就是Sys V init,它比传统的BSD system init更容易且更加灵活。

System V init的主要思想是定义了不同的"运行级别(runlevel)"。通过配置文件/etc/inittab定义了系统引导时的运行级别,进入或者切换到一个运行级别时做什么。每个运行级别对应于一个子目录/etc/rc.d/rcX.d。

每个rcX.d目录中都是一些以S或K开头的文件链接。这些链接指向的脚本都可以接收start和stop参数,S开头的链接会传入start参数,一般是开启一项服务,K会传入stop参数,一般是停止某服务。

以下是一个大致的System V init过程:

(1)init过程执行的第一个脚本是/etc/rc.d/rc.sysinit,它主要做在各个运行级别中进行初始化工作,包括:启动交换分区;检查磁盘;设置主机名;检查并挂载文件系统;加载并初始化硬件模块.

(2)执行缺省的运行级别模式。这一步的内容主要在/etc/inittab中体现, inittab文件会告诉init进程要进入什么运行级别,以及在哪里可以找到该运行级别的配置文件.

(3)执行/etc/rc.d/rc.local脚本文件。这也是init过程中执行的最后一个脚本文件,所以用户可以在这个文件中添加一些需要在登录之前执行的命令.

(4)执行/bin/login程序

注意:

System V init只是一种模式,每个系统初始化都有差异,但大体上不会相差太多。如busybox执行的第一个启动脚本就是/etc/init.d/rcS,而且不可以改变,与上面讲的不同。

LFS文件系统初始化示例

inittab文件

由下内容可以看出,最先执行的是/etc/rc.d/init.d/rc文件,给这个文件传入的参数是一个数字,rc会由传入的数字合成rcX.d目录的路径,然后执行其中的所有脚本链接。当然这只是一部分功能。

# Begin/etc/inittab

id:3:initdefault:

<em><strong>si::sysinit:/etc/rc.d/init.d/rc sysinit</strong></em>#可以设定初始化脚本

l0:0:wait:/etc/rc.d/init.d/rc 0

l1:S1:wait:/etc/rc.d/init.d/rc 1

l2:2:wait:/etc/rc.d/init.d/rc 2

...

ca:12345:ctrlaltdel:/sbin/shutdown-t1-a-r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty tty1 9600

2:2345:respawn:/sbin/agetty tty2 9600

...

# End/etc/inittab

etc目录结构

只是一部分,有删减。

.

├── fstab

├──<em>inittab</em>

├── inputrc

├── profile

├── rc.d

│├── init.d

││├── checkfs

││├── cleanfs

...

││├── modules

││├── mountfs

││├── mountkernfs

││├── network

││├── rc#when boot, run.

││├── reboot

...

│├── rc0.d

││├── K80network->../init.d/network

││├── K90sysklogd->../init.d/sysklogd

││├── S60sendsignals->../init.d/sendsignals

││├── S70mountfs->../init.d/mountfs

││├── S80swap->../init.d/swap

││├── S90localnet->../init.d/localnet

││└── S99halt->../init.d/halt

│├── rc1.d

││├── K80network->../init.d/network

││└── K90sysklogd->../init.d/sysklogd

│├── rc2.d

││├── K80network->../init.d/network

││└── K90sysklogd->../init.d/sysklogd

│├── rc3.d

││├── S10sysklogd->../init.d/sysklogd

││└── S20network->../init.d/network

│├── rc4.d

││├── S10sysklogd->../init.d/sysklogd

││└── S20network->../init.d/network

│├── rc5.d

││├── S10sysklogd->../init.d/sysklogd

││└── S20network->../init.d/network

│├── rc6.d

││├── K80network->../init.d/network

││├── K90sysklogd->../init.d/sysklogd

││├── S60sendsignals->../init.d/sendsignals

││├── S70mountfs->../init.d/mountfs

││├── S80swap->../init.d/swap

││├── S90localnet->../init.d/localnet

││└── S99reboot->../init.d/reboot

│└── rcsysinit.d

│├── S00mountkernfs->../init.d/mountkernfs

│├── S02consolelog->../init.d/consolelog

│├── S05modules->../init.d/modules

...

├── udev

│├── rules.d

││└── 55-lfs.rules

│└── udev.conf

└── vimrc

network脚本

#!/bin/sh

./etc/sysconfig/rc

.${rc_functions}

./etc/sysconfig/network

case"${1}" in

start)

# Start all network interfaces

for file in${network_devices}/ifconfig.*

do

interface=${file##*/ifconfig.}

# skip if$file is*(because nothing was found)

if ["${interface}"="*" ]

then

continue

fi

IN_BOOT=1${network_devices}/ifup${interface}

done

;;

stop)

# Reverse list

FILES=""

for file in${network_devices}/ifconfig.*

do

FILES="${file}${FILES}"

done

# Stop all network interfaces

for file in${FILES}

do

interface=${file##*/ifconfig.}

# skip if$file is*(because nothing was found)

if ["${interface}"="*" ]

then

continue

fi

IN_BOOT=1${network_devices}/ifdown${interface}

done

;;

restart)

${0} stop

sleep 1

${0} start

;;

*)

echo"Usage:${0}{start|stop|restart}"

exit 1

;;

esac

# End/etc/rc.d/init.d/network



linux 开机问题求助

一、BIOS加电自检

当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的.

BIOS的工作

1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给操作系统

2.寻找启动磁盘,每一种BIOS都会有开机启动菜单,可以在菜单里设置以哪个设备启动系统

比如:光驱,硬盘,网络等等,这个菜单可以设置多个选项,依照设置次序在设备上寻找启动信息

3.找到了启动硬盘,接着BIOS就会在磁盘上找启动扇区,找到内核启动系统.

1)先试着寻找第一个扇区,也就是主引导记录MBR(Master Boot Record)

2)如果第一个扇区上没有没有存在操作系统,再去寻找标记为BOOT的分区.

不论是MBR还是BOOT分区,存储操作系统的空间都只有446字节;

如果没有在上面提到的位置找到操作系统的内核,那么BIOS就无法继续启动工作.

而我们的内核往往会大于446个字节,存放在磁盘的其他位置上,既然446装不下内核,又为了能顺利的找到放在其他位置上的内核,

人们想出了一个办法就在446字节里写了一个小程序,当BIOS试着启动操作系统时就会执行这个小程序,然后再由小程序来载入其他位置的内核.这个小程序就是启动载入器(boot loader)

二、BOOT Loader

linux的boot loader(上文提到的小程序)常见的有两种:lilo grub

因为lilo存在着一个1024柱面的限制,并且更改了磁盘上的启动信息文件后需要重新启动系统才能同步446字节的内容,因为lilo的缺陷,已经被grub所取代.现在的绝大多数类linux系统都采用grub做boot loader;

grub则没有了lilo各种限制,而且方便到能修改系统文件的启动内容就可以立刻与446内容同步.

那么我们就看看grub的内容它存在于/boot/grub中

GRUB有几个重要的文件,STAGE1、STAGE1.5、STAGE2

STAGE1:它只有512字节,通常放在MBR中,它的作用很简单,就是在系统启动时用于装载STAGE2并将控制权交给它。

STAGE2:GRUB的核心,所有的功能都是由它实现。

STAGE1.5:介于STAGE1和STAGE2之间,是它们的桥梁,因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,

所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2。根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。它存放于1-63的柱面之间.

引导顺序如下:STAGE1->;STAGE1.5->;STAGE2,

主要的配置文件时 grub.conf

里面选项含义:

title:一个操作系统引动的标头,可以使多个

root:指明所需文件存在于哪个磁盘哪个分区上(hd0,0)表示第一个硬盘,第一个分区,可参考/boot/grub/device.map

kernel:内核文件的名字,并且会有一些加载内核时的参数 or代表以只读方式加载

initrd:包含一些附加的驱动程序

三、内核启动

内核启动后会向bios查询电脑的所有硬件信息,然后自己接手下来管理这些设备,以便提供给linux使用

内核会试着驱动这些设备,这些设备的驱动一部分包含在内核中,叫做静态驱动,一部分以模块的方式(动态)存放文件系统中,由

于此时还未挂载任何文件系统,因此还不能使用文件系统中的模块,这里只能驱动在内核中存在的硬件驱动程序的对应设备.想驱动内核中未包含的硬件驱动就需要加载文件系统.

内核会尝试挂载根文件系统,根文件系统至少包含/etc/bin/sbin/lib/dev这5大目录

他们5个缺一不可.都会导致系统无法启动

根文件系统挂载是以只读方式挂载的,因为这时linux还在启动阶段,并不稳定,避免破坏系统资料

四、启动INIT服务

顺利的挂载了根文件系统后,就会启动init服务

内核会按/sbin/init/etc/init/bin/init顺序寻找init程序,

如果找不到则内核报错这里存在一个参数 init=/bin/sh如果启动时指定了则最后执行/bin/sh

而不会产生内核报错.也被称为快速启动,因为它忽略了很多启动初始化工作.

启动init的目的就是为了初始化系统环境,启动了init就证明了内核已经顺利启动,接下来就由init服务来建立linux使用环境

init做了什么?它会读取/etc/inittab文件,根据这个文件的信息来进行初始化工作.

会执行三个脚本/etc/rc.d/rc.sysinit/etc/rc.d/rc/etc/rc.d/rc.local

rc.sysinit主要的功能用来建立系统的基本环境

启动udev selinux子系统

udev负责产生/dev中的文件,selinux负责增强系统的安全性

设定核心参数 sysctl-p加载/etc/sysctl.conf

设定系统时间将硬件时间设定为系统时间

加载键盘和交换分区 swapon-a-e

设置主机名,挂载文件系统,并将根重新挂载为可读写的.

加载动态驱动模块

USB设备与RAID& LVM

卸载/initrd/目录

rc脚本设置启动级别 linux中有许多不同的启动级别,不同的启动级别会制定不同的服务

根据指定rc的参数会对应执行/etc/rc.d/rc[0-6].d/中的连接脚本文件以S开头的则启动

rc.local前两个脚本都是系统至关重要的脚本,如果我们想在启动过程中放置一些其他程序

应该使用rc.local脚本中因为S99local存在于rc[2-5].d中

三个RC脚本执行完毕后,就会建立虚拟主控制台执行/bin/login就提供了用户登陆界面了

如果是图形 L5级别的话,会启动X window登录界面

所有的启动就都已经完毕

用户环境初始化

输入用户名和密码系统验证,然后会执行

/etc/profile

/etc/profile.d/*.sh$HOME/.bash_profile

/etc/bashrc

$HOME/.bashrc

启动级别

0关机

1单用户

2多用户模式但带网络但不能远程登录

3不受限多用户模式 TUI

4保留

5图形模式

6重新启动

查看启动级别

# runlevel

N 3

N是上次的级别,3是当前级别也就是说机器开机就是3级别

切换级别

init 5

挂载文件系统

/etc/fstab

第一项是要mount的存储装置的实体位置或者用卷标

第二项要挂到哪个目录位置

第三项指定要挂载的系统格式

第四项 mount时要设定的状态,只读或defauls

第五项提供DUMP功能,在系统DUMP时需要BACKUP的标志位,其内定位置是 0

第六项设定开机时文件系统是否要check

除了root的文件系统其必要的check为1其他视需要而定默认是0

LABEL=/boot/boot ext3 defaults 1 2

作者“xudeqiang”

阅读剩余
THE END