关于创建U盘启动盘的一点思考 | Some considerations when creating bootable flash disks

分区表

U盘在出厂时多半会使用MS-DOS格式的分区表,而不是现代硬盘中常见的GPT。我猜可能是因为需要考虑到兼容性?

分区和文件系统

如果你只用Linux,那么你尽管分区,理论上现代的Linux发行版都能将你U盘上的分区识别出来,无论是通过图形用户界面的自动识别还是通过lsblk然后用mount命令挂载。
但是,如果你还用Windows,并且你希望你创建的可启动U盘同时也能正常地当作一个大容量存储器,分区的时候最好注意以下几点:

  1. 分区表采用MS-DOS格式;
  2. 作为普通U盘那样存储数据部分的分区,必须是第一个分区,而且必须是主分区;
  3. 作为数据存储的这个分区应该使用Windows原生支持的文件系统,而且最好是U盘出厂时使用的文件系统(对于32G以内的U盘,一般来说是FAT32);
  4. 作为可引导的分区,也就是存放U盘操作系统的分区,应该被设为可启动分区。

继续阅读“关于创建U盘启动盘的一点思考 | Some considerations when creating bootable flash disks”

ssh connect through sock5 proxy

This post provides a straightforward method to connect your ssh client through a local socks5 proxy.

It’s quite simple, if you have a socks5 server listening on your local port, say, 8888:

ssh -l login -p ssh_server_port -o ProxyCommand='nc --proxy-type socks5 --proxy 127.0.0.1:8888 %h %p' ssh_server_host_name

If you are not using nmap’s netcat utility, you may try:

ssh -l login -p ssh_server_port -o ProxyCommand='nc -X 5 -x 127.0.0.1:8888 %h %p' ssh_server_host_name