update some cmds

This commit is contained in:
shzhxh 2019-10-05 15:41:19 +08:00
parent 6baf5c01ac
commit 0d1056bd06
10 changed files with 127 additions and 9 deletions

View File

@ -124,6 +124,8 @@ CONFIG_EFI_PARTITION=y # GPT配置选项UEFI强制支持
##### 从ISO创建启动U盘
- 这种制作启动盘的方式很方便只要把iso中的内容复制到U盘里即可。但有一点需要注意U盘的卷标名和配置文件指定的卷标名要一致。
##### 从光盘去除UEFI启动支持
##### 在32bitUEFI上启动64bit内核

View File

@ -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. 安装

21
Software/Distr_manjaro.md Normal file
View File

@ -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 #
```

View File

@ -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盘启动盘
```

10
Software/extlinux.md Normal file
View File

@ -0,0 +1,10 @@
```
extlinux [options] <dir> # 安装syslinux bootloader
```
#### 选项
```
-i, --install # 在当前引导扇区上安装
```

View File

@ -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 # 递归搜索,会追踪所有的符号链接
```

View File

@ -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

View File

@ -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>
```

View File

@ -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的设备。
```

View File

@ -3,3 +3,10 @@ umount -a [options] # 解除对所有文件系统的挂载
umount [options] <device | directory> # 解除对指定文件系统的挂载
```
#### 选项
```
-f, --force # 强制卸载(如果NFS无法访问)
-l, --lazy # 立即把要卸载的文件系统分离出来当它不处于busy状态时马上清空对它的引用
```