update some cmds
This commit is contained in:
parent
6baf5c01ac
commit
0d1056bd06
|
@ -124,6 +124,8 @@ CONFIG_EFI_PARTITION=y # GPT配置选项,UEFI强制支持
|
|||
|
||||
##### 从ISO创建启动U盘
|
||||
|
||||
- 这种制作启动盘的方式很方便,只要把iso中的内容复制到U盘里即可。但有一点需要注意,U盘的卷标名和配置文件指定的卷标名要一致。
|
||||
|
||||
##### 从光盘去除UEFI启动支持
|
||||
|
||||
##### 在32bitUEFI上启动64bit内核
|
||||
|
|
|
@ -111,18 +111,28 @@
|
|||
##### 1. 制作启动盘
|
||||
|
||||
```bash
|
||||
# step1 : 把镜像里的内容复制到U盘里
|
||||
mkdir -p /mnt/{iso,usb}
|
||||
mount -o loop archlinux-2017.04.01-x86_64.iso /mnt/iso
|
||||
mount /dev/sdb /mnt/usb
|
||||
mount /dev/sdb /mnt/usb # 注意:/dev/sdb必须是fat32分区
|
||||
cp -a /mnt/iso/* /mnt/usb
|
||||
sync
|
||||
umount /mnt/iso
|
||||
|
||||
vim /mnt/usb/loader/entries/archiso-x86_64.conf # 对于UEFI引导,需要保证标签名一致
|
||||
# step2 : 对于UEFI引导,需要保证卷标或UUID一致。那么就有三种改法:
|
||||
# 1 修改fat32分区的卷标
|
||||
cat loader/entries/archiso-x86_64.conf # 通过archisolabel找到巻标名
|
||||
# 2 修改配置文件里archisolabel对应的卷标名
|
||||
# 3 设置配置文件里的UUID,将配置文件里的archisolabel修改为archisodevice
|
||||
blkid -s UUID /dev/sdb # 查看UUID
|
||||
|
||||
# step3 : 重装syslinux
|
||||
cp /usr/lib/syslinux/modules/efi64/*.c32 /mnt/usb/arch/boot/syslinux/
|
||||
# 用本机的syslinux模块覆盖原有的*.c32,这是为了避免版本差异导致启动失败
|
||||
extlinux --install /mnt/usb/arch/boot/syslinux
|
||||
umount /mnt/usb
|
||||
# 将/dev/sdb分区设置为bootable
|
||||
|
||||
# step4 : 将/dev/sdb分区设置为bootable
|
||||
```
|
||||
|
||||
##### 2. 安装
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#### 错误解决
|
||||
|
||||
##### error: unknown filesystem
|
||||
|
||||
- 描述:在启动的时候grub直接进入恢复模式,提示"unknown filesystem"。或者在有的电脑上直接就识别不出来启动盘。
|
||||
|
||||
- 原因分析:问题应该是出在启动盘的grub上,因为电脑自带的grub没问题,而启动盘的grub报错。
|
||||
|
||||
- 解决方法:网上提到的方法是用ls命令找到manjaro所在的分区,然后用set命令进行设置。但我面临的问题是ls命令列出的分区均提示"unknown filesystem"。这种情况下该怎么办呢?有变通的方法,就是用硬盘上已有的grub来引导manjora。过程如下:
|
||||
|
||||
```
|
||||
ls # 应该可以看到(hd0,msdos1),这就是manjaro启动分区
|
||||
ls (hd0,msdos1)/ # 如果可以看到存在manjaro/目录,表明确实就是这个分区
|
||||
set root=hd0,msdos1 # 设置根设备
|
||||
set prefix=(hd0,msdos1)/boot/grub # 设置grub目录的绝对路径
|
||||
insmod normal # 调用normal模块
|
||||
normal #
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ dd option # 打印帮助信息或版本信息
|
|||
#### 操作数
|
||||
|
||||
```
|
||||
bs=BYTES # 一次读写BYTES字节
|
||||
bs=BYTES # 一次读写BYTES字节(默认512)
|
||||
cbs=BYTES # 一次转换bYTES字节
|
||||
conv=CONVS # 用指定的参数转换文件(notrunc:不截短输出文件)
|
||||
count=N # 拷贝的块的数量(注:由ibs=指定一个块占多少个字节)
|
||||
|
@ -24,7 +24,7 @@ of=FILE # 输出到FILE,而不是stdout
|
|||
oflag=FLAG
|
||||
seek=N # 从输出文件的N个块后再复制
|
||||
skip=N # 从输入文件的N个块后再复制
|
||||
status=LEVEL
|
||||
status=LEVEL # 输出到stderr的信息。none只显示错误信息,noxfer不显示最终的传输统计信息,progress显示传输统计信息。
|
||||
```
|
||||
|
||||
- N和BYTES可以带后缀:
|
||||
|
@ -46,3 +46,9 @@ status=LEVEL
|
|||
--version # 输出版本信息
|
||||
```
|
||||
|
||||
#### 示例
|
||||
|
||||
```
|
||||
sudo dd if=*.img of=/dev/* bs=4M status=progress # 创建U盘启动盘
|
||||
```
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
```
|
||||
extlinux [options] <dir> # 安装syslinux bootloader
|
||||
```
|
||||
|
||||
#### 选项
|
||||
|
||||
```
|
||||
-i, --install # 在当前引导扇区上安装
|
||||
```
|
||||
|
|
@ -70,7 +70,9 @@ rgrep # 等价于grep -r
|
|||
##### 文件与目录选择
|
||||
|
||||
```
|
||||
-a, --text
|
||||
-a, --text # 等价于 --binary-files=test,像处理文本文件一样处理二进制文件
|
||||
--binary-files=<TYPE> #
|
||||
-I # 等价于 --binary-files=without-match, 不处理二进制文件
|
||||
-r, --recursive # 递归搜索,对于符号链接只有在命令行里指定了才会追踪它
|
||||
-R, --dereference-recursive # 递归搜索,会追踪所有的符号链接
|
||||
```
|
||||
|
|
|
@ -6,8 +6,6 @@ sudo grub-install --target=x86_64-efi --efi-directory=/mnt
|
|||
sudo update-grub
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 简单配置
|
||||
|
||||
1. `grub-mkconfig`可以用来生成grub.cfg文件。但是功能有限。
|
||||
|
@ -22,6 +20,33 @@ sudo update-grub
|
|||
3. 编辑/etc/grub.d文件夹中的文件或创建/boot/grub/custom.cfg,可以进行更灵活的配置。
|
||||
4. 直接修改grub.cfg文件是不建议的。
|
||||
|
||||
#### 命令
|
||||
|
||||
```
|
||||
boot # 启动已加载的操作系统。
|
||||
set [envvar=value] # 将环境变量envvar的值设置为value,如不给定参数则列出当前的环境变量
|
||||
unset envvar # 释放环境变量envvar
|
||||
lsmod # 列出已加载的模块
|
||||
insmod # 调用指定的模块
|
||||
linux # 装载指定的内核文件,并传递内核启动参数。
|
||||
initrd # 只能紧跟在linux命令之后,为指定的内核传递init ramdisk路径。
|
||||
search # 通过文件(--file)、卷标(--label)、UUID(--fs-uuid)来搜索设备。
|
||||
ls [args] # 如不给定参数,则列出所有grub可见的设备;如给定的参数是一个分区,则显示该分区的信息;如给定的参数是一个绝对路径,则显示该路径下的所有文件。
|
||||
```
|
||||
|
||||
#### 内置变量
|
||||
|
||||
```
|
||||
cmdpath # core.img所在目录的绝对路径,该绝对路径要包含设备名称
|
||||
default # 默认的菜单项。可使用菜单的titile, id 或 数值顺序。
|
||||
timeout # 设置菜单等待时间。如为0则直接启动default指定的菜单,如为-1则永久等待手动选项。
|
||||
fallback # 如默认菜单项启动失败,则使用该变量指定的菜单项启动。
|
||||
prefix # grub目录的绝对路径,这样才可以从该目录下加载各文件和模块
|
||||
root # 指定根设备的名称
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 使系统开机进入纯命令模式
|
||||
|
||||
1. 编辑/etc/default/grub
|
||||
|
|
|
@ -2,3 +2,16 @@
|
|||
touch [options] files # 把文件的访问时间和修改时间更新为当前时间
|
||||
```
|
||||
|
||||
#### 选项
|
||||
|
||||
```
|
||||
-a # 只改变访问时间
|
||||
-c, --no-create # 不创建任何文件
|
||||
-d, --date=<STRING>
|
||||
-h, --no-dereference
|
||||
-m
|
||||
-r, --reference=<FILE>
|
||||
-t <STAMP>
|
||||
--time=<WORD>
|
||||
```
|
||||
|
||||
|
|
|
@ -1 +1,23 @@
|
|||
列出块设备的信息
|
||||
列出块设备的信息
|
||||
|
||||
```
|
||||
blkid --label <label>
|
||||
blkid --uuid <uuid>
|
||||
blkid [options] [devices]
|
||||
```
|
||||
|
||||
#### 选项
|
||||
|
||||
```
|
||||
-L, --label <label> # 等价于 --list-one --output device --match-token LABEL=<label>,其作用是查找以label作为文件系统标签的设备。
|
||||
-o, --output <format> # 指定输出格式为<format>。<format>可以是:
|
||||
full : 打印所有标签(默认)
|
||||
value : 打印出标签的值
|
||||
list : 以用户友好的格式打印
|
||||
device : 只打印设备名
|
||||
udev : 以键值对的形式打印,以方便输出到udev环境中
|
||||
export : 以键值对的形式打印,以方便输出到环境变量中
|
||||
-s, --match-tag <tag> # 只显示满足<tag>标签的设备。
|
||||
-U, --uuid <uuid> # 查找以<uuid>作为文件系统uuid的设备。
|
||||
```
|
||||
|
||||
|
|
|
@ -3,3 +3,10 @@ umount -a [options] # 解除对所有文件系统的挂载
|
|||
umount [options] <device | directory> # 解除对指定文件系统的挂载
|
||||
```
|
||||
|
||||
#### 选项
|
||||
|
||||
```
|
||||
-f, --force # 强制卸载(如果NFS无法访问)
|
||||
-l, --lazy # 立即把要卸载的文件系统分离出来,当它不处于busy状态时马上清空对它的引用
|
||||
```
|
||||
|
||||
|
|
Loading…
Reference in New Issue