进入单用户模式

  1. 编辑grub菜单 (选择要编辑的title 而后使用e命令)

  2. 在选定的kernel后附加

1,s,S或者single都可以

  1. 在kernel所在行 键入b命令

第一阶段坏了

可以使用grub-install –root-directory=/ /dav/sda

内核组成部分

  • kernel 通常在/boot 叫vmlinuz-VERSION-release
  • kernel object 内核对象 一般放到/lib/modules/VERSION-release

lsmod 显示加载的模块

显示的内核来源于/proc/modules

modinfo命令 显示linux 内核模块的相关信息

modinfo [-F field] [-k kernel] [modulename] [filename]

-F field 显示指定字段的信息

-n 显示文件路径

modprobe命令

modprobe [-r] module_name

add and remove modules from Linux kernel

  • 模块的动态装载modprobe module_name
  • 动态卸载 modprobe -r module_name

depmod命令

generate modules.dep and map files

内核模块依赖关系文件的生成工具

模块装载和卸载的另一组命令

insmod命令

insmod [filename] [module options]

filename 模块文件的文件路径

rmmod命令

rmmod [module_name]

ramdisk文件的管理

  • mkinitrd命令

    为当前内核重新制作ramdisk文件

mkinitrd [option..][]

比如:mkinitrd /boot/initramfs-`uname -r` .img `uanme -r `

内核信息输出的伪文件系统

/proc 内核状态和统计信息的输出接口 同时还提供一个配置接口,/proc/sys;

参数:

只读:信息输出 例如/proc/#/*

可写:可接受用户指定一个新值来实现对内核某功能或特性的配置

/proc/sys

net/ipv4/ip_forward 相当于 net.ipv4.ip_forward

  • sysctl命令

sysctl - configure kernel parameters at runtime

专用于查看或设定/proc/sys 目录下参数的值

-w –write

use this option when you want to change a sysctl setting

sysctl [option] [variable=[value]]

查看

  sysctl -a 显示所有

  cat /proc/sys/PATH/TO/SOME_KERNEL

修改值

  sysctl -w variable=value
  • 文件系统命令

查看

  cat /proc/sys/PATH/TO/SOME_KERNEL_FILE

设定

  echo "VALUE" > /proc/sys/PATH/TO/SOME_KERNEL_FILE
  • 配置文件位置

    etc/sysct.conf /etc/sysctl.d/*.conf

  • 立即生效就可以让它重读 sysctl -p [/PATH/TO/CONFIG_FILE]

  • 内核参数

net.ipv4.ip_forward 核心转发

vm.drop_caches 清空buff和caches

kernel.hostname 主机名

proc.sys.net.ipv4.icmp_echo_ignore_all 这个参数改成1是可以禁用ping命令ping通的是的 忽略所有ping操作

/sys目录

sysfs:输出内核各硬件相关属性信息 内核硬件特性的可设置参数,修改参数,可以定制硬件特性

udev 读取/sys目录下的硬件设备信息按需为各硬件设备创建设备文件 udev是用户空间程序 专用工具devadmin hotpiug

udev为设备创建设备文件时 会读取事先定义好的规则文件 一般在/etc/udev/rules.d目录 以及/user/lib/udev/rules.d目录下 比如修改网卡eth0和eth1的mac地址  就可以在/etc/udev/rules.d/70 ...(按tab键补出)  里面可以看到