grub中常见kernel参数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
grub中常见kernel参数
有时候安装linux时会使⽤原有的grub,然后⾃⼰编辑menu.lst⽂件添加新启动项,⽽不选择安装grub。
这样经常会造成系统不能启动的问题,会有各种报错。
⽐如我碰到的 CentOS不能启动,报
VFS: cannot open root device "/dev/sda10" or unknown-block(0,0) please append a correct "root=" boot option kernel panic
not syncing: VFS: unable to mount root fs on unknown-block (0,0)
Puppy不能启动,报
Searching for Puppy files in computer disk drives pup_400.sfs not found. Dropping out to initial-ramdisk console...
都是内核参数不正确的原因。
到⽹上搜了⼀下,内核参数在各个发⾏版都不同,不是grub⾥的统⼀的参数。
找了⼀些常见的参数,以备查阅。
上⾯两个问题,CentOS是添加kernel参数"rhgb quiet"后正常启动(应该是rhgb的问题,跟quiet关系不⼤)。
rhgb是"Red Hat Graphical Boot"的意思,quiet是安静启动的意思。
也就是在menu.lst(grub2为grub.cfg,下同)中的kernel⾏(grub2中是linux⾏,下同)后⾯加上"rhgb quiet"这两个参数。
⽽puppy的问题添加"ide=nodma acpi=off"这两个参数之后恢复正常。
其中起作⽤的是"ide=nodma"。
这两个参数⼀个是关闭acpi,⼀个关闭dma(关于acpi与dma请⾃⼰搜索相关资料)。
其他常见参数有: root=root_path 这个是设置根分区的位置,⼀般可以省略。
前⾯root命令设置的根分区是grub的表⽰形式(如root (hd0,10) ),⽽此处root⽬录是linux的表⽰形式(如 root=/dev/sda10 也有root=UUID=uuid_number root=LABEL=partition_label 等形式)。
有些发⾏版会设置root=/dev/ram0,是启动时将根设置在内存,再进⾏根⽬录的转换,此时会有⼀个ramdisk_size参数设置初始RAM盘的⼤⼩。
ro/ rw意思就是read only /rewritable ,设置根⽬录权限,⼀般可以省略。
vga=normal设置启动的模式。
如果要在虚拟终端中使⽤图形等的话可能需要更改此项。
single 以单⽤户模式启动,当忘记root⽤户的密码时,可以加上此内核参数启动后修改密码。
另外从⽹上查到puppy的默认内核参数有
puppy acpi=strict acpi=noirq pci=biosirq pci=nosort irqpoll routeirq
其他各发⾏版参数可查阅相应⽂档。
另外此处提到的内容适⽤grub,grub2请视情况更改。