LINUX系统开启故障排错及linux-4.16.8内核编译安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX系统开启故障排错及linux-4.16.8内核编译安装相关的知识,希望对你有一定的参考价值。
1、破解root口令,并为grub设置保护功能
1).进入单用户模式 在 GRUB 启动菜单里使用 “e” 操作按键进入 CentOS 的启动菜单向界面 ,移动光标至“kernel”配置项一行,在末尾加入single,ctrl+x,然后进入bash#页面
2).进入单用户模式后,不需要输入用户名和口令,系统启动完成后将直接获得管理员 root 的权限,控制台的提示符为“#”,需要以rw方式挂载/ mount -o remount rw /
3).输入passwd命令,键入两次新密码即可完成更改。破解root口令
4).vi /boot/grub/grub.conf
password --md5 passwd #grub-crypt 键入两次新密码即可完成生成MD5加密密码passwd,下次系统进入grub引导需要密码才能进入
2、破坏本机grub stage1,而后在救援模式下修复之
1).reboot后按下ESC,即可通过光盘引导,进入救援环境mbr446字节被破坏,备份数据到/data/mbr,采用dd命令
2)dd if=/data/mbr of=/dev/sda1 bs=1 count=446
3、删除vmlinuz和initramfs文件后无法启动,两种方法恢复之
reboot后按下ESC,即可通过光盘引导,进入救援环境
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
chroot /mnt/sysimage #切换/
mkinitrd /boot/initramfs-`uname -r`.img `uname -r `
cp /mnt/cdrom/isolinux/vmlinuz /boot/vmlinuz-`uname -r`
sync
sync #写入磁盘
方法二、
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm --root=/mnt/sysimage/ --force
ls /mnt/sysimage/boot
4、增加新硬盘,在其上制作能单独运行kernel和bash的系统
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1 #/dev/sdb1对应/boot /dev/sdb2对应根 /
mkfs.ext4 /dev/sdb2
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot
grub-install --root-directory=/mnt /dev/sdb
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
cat >> /mnt/boot/grub.conf <<EOF
title wanglinux
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2 selinux=0 init=/bin/bash
initrd /initramfs-2.6.32-642.el6.x86_64.img
EOF
chroot /mnt/sysroot
mkdir /mnt/sysroot
mount /dev/sdb2 /mnt/sysroot
mkdir –pv
/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}
#复制bash和相关库文件
#复制相关命令及相关库文件
?5、在U盘上定制linux,使其可启动系统,并具有网络功能
6、删除/etc/fstab和/boot目录的所有文件,并恢复之
1).reboot后按下ESC,即可通过光盘引导,进入救援环境
fdisk -l #查找对应的根在那个硬盘分区
mkdir /mnt/rsroot
mount /dev/sda2 /mnt/rsroot
cat >> /mnt/rsroot/etc/fstab <<EOF
/dev/sda2 / exrt4 defaults 0 0
/dev/sda1 /boot exrt4 defaults 0 0 #临时恢复fstab文件
EOF
sync
exit
2).恢复fstab后,reboot后按下ESC,即可通过光盘再次引导,进入救援环境
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm --root=/mnt/sysimage/ --force
ls /mnt/sysimage/boot
chroot /mnt/sysimage #切根/
grub-install -- /dev/sda
cat > /boot/grub.conf
default=0
timmeout=5
title linux
root(hd0,0)
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/sda3
initrd /initramfs-2.6.32-696.el6.x86_64.img
ps:/boot/grub的配置文件:除了grub.conf ,splash.xpm.gz,系统干净的情况下,其他文件可以不存在;2.经过grub-install 后,/boot/grub所有文件都和启动相关,不可破坏
7、编译安装kernel,启用支持ntfs文件系统功能
下载 linux-4.16.8.tar.xz
tar -xvf linux-4.16.8.tar.xz
cd linux-4.16.8
cp /boot/config-3.10.0-862.el7.x86_64 .config
yum gruopinstall "Development Tools"
yum install ncurses
make menuinstall #报错的可以安装一下,yum install ncurses ,基于curses的文本窗口 ,第一次编译安装的时候,yum gruopinstall "Development Tools"
# General setup ---> Local version - append to kernel release ---> enter,修改内核版本号相关参数
# File systems ---> DOS/FAT/NT Filesystems ---> NTFS file system support ,修改linux可以支持NTFS文件系统
# exti 保存
make -j [#] ##代表cpu数量,越多编译速度越快,最后大概生成10-11G文件,全部编译
{
#只编译某子目录中的相关代码
cd /usr/src/linux
#make dir/
#只编译一个特定的模块
cd /usr/src/linux
#make dir/file.ko
make drivers/net/ethernet/intel/e1000/e1000.ko
}
make modules_install
#cp 相关模块到/lib/mouduls
make install
#安装bzImage为/boot/vmlinuz-VERSION-RELEASE
#生成initramfs文件
#编辑grub的配置文件
make clean #清理大多数编译生成的文件,但会保留config文件等
make mrproper #:清理所有编译生成的文件、config及某些备份文件
make distclean #mrproper、patches以及编辑器备份文件
reboot #开始新内核之旅吧
以上是关于LINUX系统开启故障排错及linux-4.16.8内核编译安装的主要内容,如果未能解决你的问题,请参考以下文章