diff --git a/OS/uefi.md b/OS/uefi.md
index d71c8cd..1362f8e 100644
--- a/OS/uefi.md
+++ b/OS/uefi.md
@@ -124,6 +124,8 @@ CONFIG_EFI_PARTITION=y # GPT配置选项,UEFI强制支持
##### 从ISO创建启动U盘
+- 这种制作启动盘的方式很方便,只要把iso中的内容复制到U盘里即可。但有一点需要注意,U盘的卷标名和配置文件指定的卷标名要一致。
+
##### 从光盘去除UEFI启动支持
##### 在32bitUEFI上启动64bit内核
diff --git a/Software/Distr_archLinux.md b/Software/Distr_archLinux.md
index b23d9d7..54094b0 100644
--- a/Software/Distr_archLinux.md
+++ b/Software/Distr_archLinux.md
@@ -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. 安装
diff --git a/Software/Distr_manjaro.md b/Software/Distr_manjaro.md
new file mode 100644
index 0000000..30fe8a9
--- /dev/null
+++ b/Software/Distr_manjaro.md
@@ -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 #
+ ```
+
+
+
diff --git a/Software/dd.md b/Software/dd.md
index 0bdbf65..5d1ca03 100644
--- a/Software/dd.md
+++ b/Software/dd.md
@@ -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盘启动盘
+```
+
diff --git a/Software/extlinux.md b/Software/extlinux.md
new file mode 100644
index 0000000..c899ac7
--- /dev/null
+++ b/Software/extlinux.md
@@ -0,0 +1,10 @@
+```
+extlinux [options]
# 安装syslinux bootloader
+```
+
+#### 选项
+
+```
+-i, --install # 在当前引导扇区上安装
+```
+
diff --git a/Software/grep.md b/Software/grep.md
index ecf7c07..c527f97 100644
--- a/Software/grep.md
+++ b/Software/grep.md
@@ -70,7 +70,9 @@ rgrep # 等价于grep -r
##### 文件与目录选择
```
--a, --text
+-a, --text # 等价于 --binary-files=test,像处理文本文件一样处理二进制文件
+--binary-files= #
+-I # 等价于 --binary-files=without-match, 不处理二进制文件
-r, --recursive # 递归搜索,对于符号链接只有在命令行里指定了才会追踪它
-R, --dereference-recursive # 递归搜索,会追踪所有的符号链接
```
diff --git a/Software/grub.md b/Software/grub.md
index ef2c50f..bbb853f 100644
--- a/Software/grub.md
+++ b/Software/grub.md
@@ -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
diff --git a/Software/文件管理/touch.md b/Software/文件管理/touch.md
index 21a3311..0e01f5d 100644
--- a/Software/文件管理/touch.md
+++ b/Software/文件管理/touch.md
@@ -2,3 +2,16 @@
touch [options] files # 把文件的访问时间和修改时间更新为当前时间
```
+#### 选项
+
+```
+-a # 只改变访问时间
+-c, --no-create # 不创建任何文件
+-d, --date=
+-h, --no-dereference
+-m
+-r, --reference=
+-t
+--time=
+```
+
diff --git a/Software/设备管理/blkid.md b/Software/设备管理/blkid.md
index 6216f56..ac0313a 100644
--- a/Software/设备管理/blkid.md
+++ b/Software/设备管理/blkid.md
@@ -1 +1,23 @@
-列出块设备的信息
\ No newline at end of file
+列出块设备的信息
+
+```
+blkid --label