Macos下制作CentOS 7 USB启动盘
记录下在MacOS中制作Linux USB启动盘的操作步骤。
操作步骤
查看磁盘挂载分区
使用命令diskutil list查看所在U盘的分区,找到U盘的挂载点,此处挂载点为/dev/disk2
1 | $ diskutil list |
卸载U盘挂载
使用diskutil unmountDisk命令,卸载U盘的挂载。
1 | $ diskutil unmountDisk /dev/disk2 |
如果不卸载挂载点就写入启动盘,则会提示dd: /dev/disk2: Resource busy。
使用dd来来写入iso
使用dd命令来将CentOS写入启动盘,
1 | sudo dd if=~/carl_workSpace/software/os/CentOS-7-x86_64-DVD-1810.iso of=/dev/rdisk2 bs=1m |
注意:
- 此处
~/carl_workSpace/software/os/CentOS-7-x86_64-DVD-1810.iso是我本地CentOS的路径,需要替换成实际的路径 /dev/rdisk2就是上面diskutil list列出的U盘挂载点, 并且注意,此处磁盘前面多了个r,是rdisk2,而不是disk2,rdisk2是disk2的原始盘,目的是可以更快速的写入。
写入需要花费几分钟时间,期间可以使用CTRL + T来查看写入进度,显示如下:
1 | 109+0 records in |
也可以使用iostat来查看磁盘写入进度
1 | $ iostat -w 5 |
最终完成后,dd命令输出:
1 | 4376+0 records in |
写入完成后,Macos会有一个提示框,提示“此电脑不能读取您插入的磁盘。”
USB启动盘不能被Macos正常读取,但是可以用来被当作启动盘安装CentOS。
使用diskutil list可以查看到此时U盘的分区信息。
1 | $ diskutil list |
弹出U盘
使用“磁盘工具”APP或者命令diskutil eject弹出U盘。
1 | diskutil eject /dev/disk2 |
延伸
Macos中/dev/disk和/dev/rdisk的区别
首先查看man hdiutil的描述:
Since any /dev entry can be treated as a raw disk image, it is worth noting which devices can be accessed when and how. /dev/rdisk nodes are character-special devices, but are “raw” in the BSD sense and force block-aligned I/O. They are closer to the physical disk than the buffer cache. /dev/disk nodes, on the other hand, are buffered block-special devices and are used primarily by the kernel’s filesystem code.
/dev/rdisk是原始读取模式,没有经过文件系统的文件缓存机制,因此速度比/dev/disk速度更快。
下面以918M大小的CentOS-7-x86_64-Minimal-1810.iso为例来比较/dev/rdisk和/dev/disk的写入速度。两者的命令分别为
1 | # 写入/dev/rdisk的速度 |
可以看到写入/dev/rdisk花费了106秒,而写入/dev/disk花费了3016秒, 差别巨大。