2024年10月制作用U盘启动的Linux系统的简单步骤
最近听朋友说误删除了Linux系统里的文件,于是系统进不了,里面保存着很多重要的数据,这该怎么办?虽然可以把硬盘取出挂载其他Linux系统运行,也可跳过控制台进入系统,但都是很麻烦的,其实只要制作一个用U盘启动的Linux系统就可以轻松地把这一切搞定。
制作用U盘启动的Linux系统的简单步骤:
一、对U盘进行处理
1.分区:(插上U盘)
# fdisk /dev/sdb
d Enter 删除原有分区
n Enter 新建一个主分区
w Enter 保存设置
# partprobe /dev/sdb 刷新U盘
2.设定U盘分区为活动分区
# fdisk /dev/sdb
a Enter 设定为活动分区
1 Enter 选择分区
3.对硬盘分区进行格式化,格式化成ext3格式
# mkfs.ext3 /dev/sdb1
二、装filesystem包 (目的:生成根下的root,usr,var 。。.等目录)
1.配置好yum
2.加载U盘到/net下
# mount /dev/sdb1 /net
3.安装
# yum -y install --installrot=/net filesystem
安装完成后,可查看/net下生成了多个目录
三、加载系统启动项
1.# cp /boot/vmlinuz-2.6.18-128.el5 /net/boot/
2.生成initrd.img `uname -r`为取系统版本号
# mkinitrd --with=usb-storage /net/boot/initrd-usb.img `uname -r`
3.查看/net/boot/下是否有vmlinuz和initrd
四、制作boot loader(grub)
1.# yum -y install --installroot=/net grub
2.grub.conf不成自动生成,要手工创建
# cp /boot/grub/grub.conf /net/boot/grub/grub.conf 并作修改
# cat /net/boot/grub.conf
default = 0
timeout = 5
title redhat-usb-linux
root(hd0,0)
kernel /boot/vmlinuz-2.6.18-128.el5 ro root=/dev/sdb1 init=/dev/bash
initrd /boot/initrd-usb.img
此处填写的内容要与/net/boot/grub/下的文件名一致
五、安装命令库文件
# yum -y install --installroot=/net bash coreutils pam setup vim-enhanced vim-minimal util-
linux net-tools SysVinit passwd shadow-utils authconfig
可通过rpm -qf /bin/mount 查看包名
此时chroot /net下可使用刚才安装的命令了