自制一个简易linux

虚拟机添加一块新的硬盘(大小自定义)

在磁盘上创建一个基本分区作为/boot分区(大小200M足够)

再创建一个基本分区作为基本根分区(这里我指定给了5G大小)

然后给分区创建文件系统(注;swap分区要使用mkswap命令

blob.png

blob.png

]# mkdir /mnt/boot 创建挂载点(因为grub只识别/boot目录,所以要创建boot目录)

blob.png

]# mount /dev/sd1 /mnt/boot/ (将刚才创建的第一个分区挂载至/mnt/boot/目录下)

blob.png

]# grub-install –root-directory=/mnt /dev/sde (安装grub并且指明grub根在/mnt/下的boot,boot不指明,它会自己去找)

blob.png

可看到/mnt/boot/生成了grub,grub下生成了stage1,1.5,2等文件

自制一个简易linuxblob.png

]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/ 恢复内核文件

]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/ 恢复initramfs文件

自制一个简易linuxblob.png

]# vim /mnt/boot/grub/grub.conf 编写grub配置文件,写入以下信息

defaullt=0 设定默认启动菜单项

timeout=5 菜单等待选择时间

title CentOS(minix.minix) 菜单名(以下为菜单项需要使用缩进)

root (hd0,0) 指明root为(hd0,0)

kernel /vmlinuz-2.6.32-642.el6.x86_64(指明内核文件) ro root=/dev/sda3 指明根文件系统(就是我们刚才分区出来的那块,因为要把这块硬盘放到另外一个系统上,所以刚才分区的/dev/sde3会在新系统上自动识别sda3)selinux=0 (关闭selinux) init=/bin/bash(指定系统的init为/bin/bash)

initrd /initramfs-2.6.32-642.el6.x86_64.img

blob.png

为根创建一级目录

[root@localhost ~]# mkdir /mnt/sysroot 创建根分区挂载点

[root@localhost ~]# mount /dev/sdb2 /mnt/sysroot/ 将根分区挂载

[root@localhost ~]# mkdir -pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media} 创建目录

blob.png编辑自动挂载配置文件

vim /mnt/sysroot/etc/fstab

/dev/sda1 /boot ext4 defaults 1 1

/dev/sda2  /    ext4 defaults 1 2

blob.png

复制bash和相关库文件

cp /bin/bash /mnt/sysroot/bin/

复制相关命令及相关库文件

如:ls,cat,vim,reboot,hostname等

blob.png

]# sync 同步磁盘数据

新建虚拟机使用现有磁盘

blob.png

blob.png

开机可运行



原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/46164

(0)
上一篇 2016-09-21 01:52
下一篇 2016-09-21 08:11

相关推荐

  • 根据作业浅析正则表达式

        什么是正则?正则就是,那种体现出某种规律的不变性或者对称性的物理量或关系。     正则表达式(Regular Expression):由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能(linux中,可以使用:man …

    Linux干货 2017-07-30
  • ArchLinux折腾记

    刚接触linux的时候, 听到前辈说到这样一个系统,  说是linux 技能纯熟才能驾驭的了ArchLinux , 最近正好有个半天闲, 于是抽空,  佐以官方文档,  来认认真真的折腾一下ArchLinux Contents ArchLinux简介  准备工作  分区设置  基本功能安装 &nbs…

    Linux干货 2016-09-29
  • 初学Linux之快速获取帮助

    Windows操作系统和Linux操作系统的界面区别,导致了初学Linux时,我们会遇到比较大的障碍。Windows操作系统时图形这种形象化的操作界面,而Linux则不同,时以字符界面为主的。当我们遇到困难,我们可以获取系统提供的帮助信息,越过我们遇到的障碍,快速的熟悉Linux。获取帮助的方法包括:Linux手册(man),命令的帮助页,info帮助。

    2017-11-19
  • Linux中的文本处理工具—sed

    sed 处理文本工具 一、概述   Stream EDitor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文…

    Linux干货 2016-08-10
  • http

    http http:hyper text transfer protocol, 应用层协议, 80/tcp, 文本协议 html:hyper text mark language, 是一种编程语言,超文本标记语言; html格式示例: <html> <head> <title>TITLE</title> &lt…

    Linux干货 2017-06-04
  • 权限管理和字符匹配示例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R 700 tuser1 2、编辑/etc/group文件,添加组hadoop hadoop:x:999 3、手动编辑/etc/passwd文件新增一行,…

    2017-12-25