自定义Linux系统

目录

一、Linux启动原理

二、操作步骤

1.添加硬盘

2.分区

(1) lsblk:        查看硬盘情况:      

(2) fdisk /dev/sdb:        进行分区

 (3) lsblk:        查看sdb分区后的样子​编辑

3.对/dev/sdb分区进行格式化

(1)mkfs.ext4 /dev/sdb1

(2)mkfs.ext4 /dev/sdb2

4.创建目录,挂载新的磁盘

(1)mkdir -p /mnt/boot /mnt/sysroot

(2)mount /dev/sdb1 /mnt/boot

(3)mount /dev/sdb2 /mnt/sysroot/

5.安装grub,内核文件拷贝至目标磁盘

(1)grub2-install --root-directory=/mnt /dev/sdb

(2)hexdump -C -n 512 /dev/sdb:        验证是否装上

(3)rm -rf /mnt/boot/*:        删除原内容

6.修改grub2/grub.cfg文件

(1)进入到目录下对grub.cfg文件进行修改

(2) 将原本的内容进行替换

(3)下面还有一块的修改同(2)步骤

7.创建目标主机根文件系统

8.拷贝需要的bash(或你需要的指令)和库文件给新系统使用

(1)cp /lib64/*.* /mnt/sysroot/lib64:        拷贝库文件(必备)

(2)cp /bin/bash /mnt/sysroot/bin/:        拷贝bash文件

9.创建新虚拟机,将默认分配的硬盘移除,指向刚创建的磁盘即可

 10.自定义

(1)将mini机关机

(2)开启原linux机

(3)mount /dev/sdb2 /mnt/sysroot:        挂载(必须)

(4)cp /sbin/reboot /mnt/sysroot/sbin:        拷贝想要的指令


一、Linux启动原理

1、首先Linux通过自检,检查硬件设备有没有故障

2、如果有多块启动盘的话,需要在BIOS中选择启动磁盘

3、启动MBR中的bootloader引导程序

4、加载内核文件

5、执行所有进程的父进程、老祖宗systemd

6、欢迎界面


补:在Linux的启动流程中,加载内核文件时关键文件:

1 )  kernel文件: vmlinuz-3.10.0-957.el7.x86_64

2 )  initrd文件: initramfs-3.10.0-957.el7.x86_64.img

二、操作步骤

1.添加硬盘

一路默认即可,磁盘类型选scsi即可

2.分区

(1) lsblk:        查看硬盘情况:      

(2) fdisk /dev/sdb:        进行分区

 (3) lsblk:        查看sdb分区后的样子

3.对/dev/sdb分区进行格式化

(1)mkfs.ext4 /dev/sdb1

(2)mkfs.ext4 /dev/sdb2

        同上,格式化为ext4模式

4.创建目录,挂载新的磁盘

(1)mkdir -p /mnt/boot /mnt/sysroot

(2)mount /dev/sdb1 /mnt/boot

(3)mount /dev/sdb2 /mnt/sysroot/

5.安装grub,内核文件拷贝至目标磁盘

(1)grub2-install --root-directory=/mnt /dev/sdb

(2)hexdump -C -n 512 /dev/sdb:        验证是否装上

 图示打出文本信息便是安装成功

(3)rm -rf /mnt/boot/*:        删除原内容

补:先删除避免一直需要手动覆盖的问题

(4)cp -rf /boot/* /mnt/boot/:        拷贝

6.修改grub2/grub.cfg文件

在该文件中指定根目录和启动盘

(1)进入到目录下对grub.cfg文件进行修改

(2) 将原本的内容进行替换

所谓原本内容,如图所示,复制过来的.cfg文件装载的是原文件的指向信息,将这些信息进行修改即可

将root=文件路径中的文件路径修改为UUID=sbd2的UUID(对比上下图可看出来差异)

之后包含uuid这段的末尾部分加上 selinux=0 init=/bin/bash

(3)下面还有一块的修改同(2)步骤

7.创建目标主机根文件系统

mkdir -pv /mnt/sysroot/{etc/rc.d,usr,var,proc,sys,dev,lib,lib64,bin,sbin,boot,srv,mnt,media,home,root}

8.拷贝需要的bash(或你需要的指令)和库文件给新系统使用

(1)cp /lib64/*.* /mnt/sysroot/lib64:        拷贝库文件(必备)

(2)cp /bin/bash /mnt/sysroot/bin/:        拷贝bash文件

9.创建新虚拟机,将默认分配的硬盘移除,指向刚创建的磁盘即可

 

 启动了一段时间后进入到了自建的系统= =

 10.自定义

(1)将mini机关机

(2)开启原linux机

(3)mount /dev/sdb2 /mnt/sysroot:        挂载(必须)

        由于并没有在fstab文件里面写入,所以重启会失效

(4)cp /sbin/reboot /mnt/sysroot/sbin:        拷贝想要的指令

        注意指令存放位置对应,关闭本机后打开mini机就可以使用了(类似于一个硬盘两个机使用)

注:因为没有配置环境,所以只能带入路径使用

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码熬夜敲Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值