更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux命令 > Linux grub、grpconv、grpck、growisofs命令的用法及解释

Linux grub、grpconv、grpck、growisofs命令的用法及解释

更新时间:2022-01-22 09:54:40浏览次数:242+次

以下为你详细解释grub、grpconv、grpck、growisofs命令的用法。

\

Linux grub命令的用法及解释

Linux grub命令是多重引导程序grub的命令行shell工具。这里要指出的是Grub 2,它是新一代的Grub,在Grub 2里实现了Grub没有的一些功能。

一、语法

grub(选项)

二、选项

--batch:打开批处理模式;

--boot-drive=<驱动器>:指定stage2的引导驱动器;

--config-file<配置文件>:指定stage2的配置文件;

--device-map=<文件>:指定设备的映射文件;

--help:显示帮助信息;

--install-partition=<分区>:指定stage2安装分区;

--no-config-file:不使用配置文件;

--no-pager:不使用内部分页器;

--preset-menu:使用预设菜单;

--probe-second-floppy:检测第二个软盘驱动器;

--read-only:只读模式。

三、Grub 2新功能如下

1、Grub 2独特的模块化设计

Grub 2和Grub不同的单一内核结构,它的功能分布在很多的小模块中,并且能在运行时动态装载与卸除。

2、Grub 2能支持多体系结构

Grub 2能支持PC(i386)、MAC(powerpc)等不同的体系机构,而且能支持到EFI架构。

3、Grub 2拥有广泛的国际化支持

Grub 2能支持到非英语的语言。

4、Grub 2是真正的内存管理系统

这是Grub所不能具备的。

5、Grub 2可以支持脚本语言

Grub 2完全可以支持脚本语言,比如条件、循环、变量、函数等。

声明:新一代的Grub 2内核完全兼容multiboot标准,因此Grub 2也能在Grub中引导不冲突。

四、实例

利用grub命令来启动损坏的Linux系统,可能你的电脑因为某些原因损坏不能自动启动了。当然原因很多,可能的现象也很多。

这里说一下这种情况下的处理方法,即:屏幕上提示grub>,但你的硬盘上数据没有丢失,各分区都是好的。这种情况是你的grub信息损坏了,但比较严重的是系统启动不了。

当然,在正常启动情况下,屏幕上出现grub的启动项选择菜单时按c键也是可以进入grub>状态的。这时候我们需要用grub的命令来手工启动系统。

只需要用到四个命令boot、kernel、initrd、boot。

但grub本身命令很多,比如查看文件内容的cat,你输入help会得到。

首先,输入“ root (hd ” ,然后按两次 TAB 键; /* 这会列出你电脑上可能的磁盘设备,硬盘为 hd0/hd1 或 sd0/sd1 等 */

然后,选择你的安装 Linux 系统的硬盘,比如 hd0 ,输入 “ root (hd0, ” 再按两次 TAB 键; /* 这会列出你的第一块硬盘上的分区情况,你会知道哪个是 swap 交换分区, 0x82 ,哪个是 Linux 分区 0x83 */

选择你认为可能的 /boot 目录所在的分区, 输入root (hd0, 1)回车;

接着,输入cat /boot/vm, 按两次 TAB 键,如果出现一些 vm 开头的文件,比如 vmlinuz-4.4.15-26-386 说明这里是 /boot 所在的分区。

删除上一次的输入,再输入cat /boot/initrd,按两次 TAB 键,如果出现一些 initrd 开头的文件,比如 initrd.img-4.4.15-26-386 说明这个 /boot 所在的分区有 initrd ,即 ramdisk 镜像;

删除上一次的输入,再输入cat /sbin/init,按两次 TAB 键,如果出现一些 init 开头的文件,比如/sbin/init说明这个分区是/所在的分区;

如果没有出现/sbin/init文件,说明(hd0,1)分区仅仅是/boot分区而不是/分区。重新输入root (hd0,N)命令,这里 N 是某个 Linux 分区,然后再试cat /sbin/init, 直到屏幕上出现/sbin/init,说明你找到了/分区,严格来说,应该是/sbin目录所在的分区;

依次输入命令:

root (hd0,1)   /* 假设 /dev/hda2 是你的 /boot 所在的分区 */

kernel /boot/vmlinuz-4.4.15-26-386 ro dev=/dev/hda3    /* 假设 /dev/hda3 是你的 / 所在的分区 */

initrd /boot/initrd.img-4.4.15-26-386

boot

即可启动系统。

这里的关键问题是如何确定系统的几个分区:/boot / /sbin

Linux grpconv命令的用法及解释

Linux grpconv命令用来开启群组的投影密码。Linux操作系统里的用户和群组密码,分别存放在/etc目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。

1、语法

grpconv

2、实例

设置cdy组密码:

groupmod --password 123456 cdy

cat /etc/group | grep cdy

cdy:123456:1000:     //看出密码是123456

启动影子系统:

grpconv

cat /etc/group |  grep cdy

cdy:x:1000:      //看出密码段已经被x替代

cat /etc/gshadow | grep cdy

cdy:123456::      //已经移到影子文件了

注:gshadow, shadow只有root权限才可以查看。

Linux grpck命令的用法及解释

Linux grpck命令用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件/etc/group和/etc/shadow。

grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。

1、语法

grpck(选项)

2、选项

-r:只读模式;

-s:排序组id。

3、实例

对组账号和影子文件进行验证:

grpck   //必须以管理员身份运行

grpck /etc/group /etc/gshadow   //后面两句一样,如果没有输出信息,则表示没有错误。

测试错误的实例:

echo check_user:x: >> /etc/group    //添加一行错误的格式数据

cat /etc/group | grep check_user

check_user:x:  //这儿GID字段为空,是错误的。

grpck /etc/group

invalid group file entry

delete line 'check_user:x:'? y      //提示是否删除

grpck: the files have been updated  //这时已经删除了错误的行,提示文件已经更新。

cat /etc/group  | grep check_user   //没有查到,已经删除了。

Linux growisofs命令的用法及解释

Linux growisofs命令相关的命令有:mkisofs,cdrecord.

使用growisofs命令来刻录DVD/蓝光光盘。

1、实例1

[root@localhost ~]# growisofs -speed=2 -dvd-compat -Z /dev/dvdwriter=dvd_image.iso    #刻录光盘

2、实例2

刻录光盘语法:growisofs -dvd-compat -speed=<刻录速度> -Z <设备名>=<镜像路径>

# growisofs -dvd-compat -Z /dev/dvdwriter=/opt/CentOS-7.2-x86_64-bin-DVD.iso

# growisofs -dvd-compat -Z /dev/sr1=/path/to/image.iso   #刻录ISO文件

# growisofs -Z /dev/sr1 -R -J /some/files    #初次刻录(非ISO文件)

# growisofs -M /dev/sr1 -R -J /more/files   #往已有的DVD盘上添加文件

# growisofs -M /dev/sr1=/dev/zero  #给DVD盘封口(一般用不着)