linux 系统裁剪,教你怎样用虚拟机裁剪一个小系统

来源:互联网 发布:苹果越狱音乐软件 编辑:程序博客网 时间:2024/06/18 16:29
  linux这种开放性的架构对于计算机界来说是相当重要的,因为很多人由于特殊的要求,需要修改自己的系统,使系统符合自己的要求。怎样裁剪一个小系统以备自己的不时之需,那就先了解一下linux的启动流程吧。我这里是以我当前的系统为例,我用的是CentOS 6.4的版本。

   linux的系统启动流程:

    POST-->BIOS(boot Sequence)-->MBR(boot loader)-->Kenrel(CentOS6:initramfs)-->/sbin/init(CentOS6:/etc/inittab,/etc/init/*.conf)

   #加载BIOS的硬件信息与进行自我测试

   #读取并执行第一个启动设备内的MBR的boot loader

   #依据boot loader的设置加载kenrel,kenrel会检测硬件与加载驱动程序

   #在硬件启动成功后,kenrel会主动调用init进程

   #init会执行/etc/rc.d/rc.sysinit文件准备软件环境,以后都会交给init来执行

   1.加电以后BIOS会指定启动好的设备让我们可以读取磁盘中的操作系统内核文件。但由于不同的操作系统的文件       系统格式不相同,因此我们必须要以一个引导程序来处理内核文件加载的问题 ,因这个此引导程序就被称为             boot loader。通过boot loader的管理面开始读取内核文件,接下来linux会将内核解压到内存当中,并且利       用核的功能驱动各个周边设备。此时内核会以自己的功能重新检测一次硬件,此时内核才开始接管BIOS后的工       作了。一般来说,它会放置到/boot下面,并且取名为/boot/vmlinuz.

wKioL1MWucCwKL4sAAFt1WhR4qM918.jpg

    2.init系统初始化流程:

       #取得网络环境和主机类型:读取/etc/sysconfig/network配置文件

       #测试与挂载内存设备/proc及usb设备/sys

       #设置启动过程中的欢迎界面

       #用户自定义模块加载:可以在/etc/syscofig/modules/*.modules中定义加载模块

       #加载内核的相关设置:系统会自动读取/etc/sysctl.conf这个文件的设置值

       #设置主机名与初始化电源管理模块

       #初始化磁盘阵列:主要是通过/etc/mdadm.conf来设置的

       #检验磁盘文件系统

       #重新以可读方式挂载系统磁盘

       #启动系统伪随机数生成器

       #清除启动过程当中的临时文件

       #将启动相关的信息加载/var/log/dmesg文件中

   

    3.配置grub.conf配置文件

wKiom1MW4A-i6h_IAALfLqFAXoQ620.jpg

 前面是系统的启动流程,感兴趣的朋友可以看一下,不想看就skip,下面才是我们的真正演示,这是在虚拟机上进行的,想按着操作的朋友注意了,下面操作很危险,如在自已系统上出现任何问题后果自负。


基于HOST制作一个简单的可启动的Linux:

 1给目标磁盘分区

 2安装grub到目标磁盘

 3复制内核和initrd文件

 4创建目标主机的根文件系统

 5为grub提供配置文件

第一步先添加一块磁盘

wKioL1MW5VqCR6bFAAHExuW1lHw299.jpg

wKiom1MW5ZXzfOLWAADyRazFiqk193.jpg

wKiom1MW5bWiEM5EAAEBsqFgOPg972.jpg

wKioL1MW5aWiZvh2AAFPy2gswbU325.jpg

wKioL1MW5b_Tb7kAAAEKI78U9RQ732.jpg

wKiom1MW5gGTFf_vAAGIrcsM1Ik749.jpg

wKioL1MW5pqhFC7QAABniLhX1FM752.jpg

至此我们就创建好了一个20G的硬盘,下面我们就给磁盘分一下区先用fdisd -1 /dev/sd*查看一下我们的磁盘名称

wKiom1MW6r7BcXoEAABqh1npVy0908.jpg

看这里的/dev/sdb就是我们创建的磁盘

wKiom1MW6ubRyM2LAADIceSPNCk383.jpg

然后对磁盘进行分区,用fdisk /dev/sdb要是你自己创建的话一定要看清自已的设备名

wKioL1MW6tfBQFHpAAC6y-oGcXU990.jpg

下面就是我们要分的区

wKioL1MW6yCDb64qAAEtIxwyPQM946.jpg

wKiom1MW62fSiyVHAADUDacdz-w741.jpg

记得分完区之后一定要先择W键保存退出,要我们的分区就没了,保存好后,用fdisk /dev/sdb然后键入p看一下我们的分区情况:wKiom1MW7r-jiPKbAAE2Ngq9JDs830.jpg

下面是我们对分区的格式化

wKiom1MW7uyCF8HNAAB4KngHV5c216.jpg

格式化完成之后我们创建两个目录

wKiom1MW8AyCL1X6AAChAqz02DY489.jpg

创建完成之后我们要把前面的磁盘挂载到这两个目录下面

wKiom1MW8XSg_yXXAACFs8M7Tyc455.jpg

下面我们按装grob

wKiom1MW9BuCuuxzAAEdTLe2l6w671.jpg

复制内核和initrd文件

wKiom1MXCmWwHjW1AAEPHm-G6VY207.jpg


wKiom1MXCqugYr6xAADvgvK4Tpg891.jpgwKioL1MXCrXC3s91AAKogCipFwU755.jpgwKioL1MXCtOxh8jfAAFnJFRd21k839.jpgwKioL1MXCvfAdhpuAADBhXQuyqI991.jpg

wKiom1MXFYfBGtZzAAF1H1z9PYk919.jpg

wKioL1MXFXTDZdZKAAEkzDZtcfk267.jpgwKioL1MXFaLCfuaaAADPkOlXLBE968.jpg

到此我们的系统就裁剪完成了,别忘了最后再执行几下:sync sync



0 0