在Windows下,咱们常常使用软碟通来制做各类系统的启动盘,那么在MacOS下,如何作到呢?MacOS跟Linux的作法基本一致。若是你只想快速地制做好启动盘,请看下面的快速版php
首先,你须要如下两样东西:html
制做启动盘须要先肯定U盘的设备名,建议先给U盘起个名字,而后查找U盘的设备路径。以下为/dev/disk5
:linux
diskutil list # /dev/disk5 # blabla... U盘名字
写入前,先卸载U盘ubuntu
diskutil unmountDisk /dev/disk5
在制做以前,先介绍一个工具---dd。dd的基本用法以下:vim
# 将file1复制到file2中 dd if=file1 of=file2
if
和of
后面既能够是文件也能够是某个设备,dd是一种底层磁盘工具,很是适合制做启动盘,同时它也能够作一些有趣的事情,好比:dom
# 备份磁盘到文件 dd if=/dev/sda of=image.iso # 从文件恢复到磁盘 dd if=image.iso of=/dev/sda # 销毁某个设备的数据 dd if=/dev/urandom of=/dev/sda # 修复磁盘的一些IO错误 dd if=/dev/sda of=/dev/sda
你确定对第三条命令感到好奇,这是怎么作到的?其实linux定义了几种特殊的设备文件,/dev/urandom
能够产生无穷无尽的随机值(不必定是一般意义的数字),因此这条命令的意思是向/dev/sda
中写入随机值,某些时候会须要用到它。下面是linux的几种特殊的设备文件:工具
下面咱们正式制做启动盘code
sudo dd if=1575868135818_ubuntu18.04-3.18.iso of=/dev/disk5 bs=1m # 复制结束后,dd命令会打印出有多少输入块,有多少输出块,速度如何 # 出现如下提示表示成功 # 1934+1 records in # 1934+1 records out # 2028060672 bytes transferred in 641.515462 secs (3161359 bytes/sec)
完成后,就能够拿来装系统了。htm
在我美美地安装好ubuntu以后,发生了一个小插曲。个人PC是SSD+1T机械盘的组合,一般我都把系统装到SSD,用户数据放机械盘,因此我惯常的作法是把/home
放到机械盘,可是我安装系统的时候忘了这事。那怎么手动把/home
挂载到其余磁盘分区呢?ci
# 挂载目标分区(假设你须要挂载到 /dev/sdb1) sudo mkdir /mnt/tmp sudo mount /dev/sdb1 /mnt/tmp # 复制数据(此时的 /mnt/tmp 就是 /dev/sdb1) sudo rsync -avx /home/ /mnt/tmp # 删除旧的/home rm -rf /home/* # 必要的话,卸载原来的/home(这里通常都不须要,除非你的/home原本就是另放在某个磁盘分区的) umount -l /home # 挂载新的/home sudo mount /dev/sdb1 /home # 查 /dev/sdb1 的UUID和TYPE sudo blkid sudo vim /etc/fstab # 在文件里添加如下内容 UUID=175ab25f-5190-4df7-8795-8a00a0f78fd6 /home ext4 defaults 0 2 # 验证下,ok df -h
看到这里,也许你会有两个疑问:
一、这里复制的时候用了rsync
命令。为什么不用cp
和上文提到的dd
呢?如下是个人理解:
dd
dd是一种很是底层的复制命令,通常用于拷贝整个磁盘到镜像,或者从镜像写入到磁盘。dd命令一般比较危险,也被称为disk destroyer。
cp
这是一种经常使用的命令,通常咱们复制一些小的文件和文件夹都是使用它
rsync
rsync是高级的复制命令,更多地用于远程同步。若是你要复制大文件,用rsync比cp好。dd命令也很适合拷贝大文件,可是若是你要备份你的/目录,rsync比dd更合适,由于rsync能够更灵活地控制哪些文件能够须要复制,哪些能够被忽略。
二、/etc/fstab
是什么?
在linux里,一切都是文件,设备能够是文件,配置也能够是文件,你想修改系统配置,通常都是修改相应的文件,/etc/fstab就是linux系统的一个配置文件,主要用来配置各类设备如何挂载到系统,你在这里定义好挂载方式,系统启动的时候就会自动帮你挂载好。
# 建议先给你的U盘起个名,而后找到你U盘的设备名,如 /dev/disk5 diskutil list # /dev/disk5 (internal, physical): # #: TYPE NAME SIZE IDENTIFIER # 0: GUID_partition_scheme *121.3 GB disk0 # 1: EFI EFI 209.7 MB disk0s1 # 2: Apple_APFS U盘名字 121.1 GB disk0s2 # 卸载设备 diskutil unmountDisk /dev/disk5 # 写入镜像 sudo dd if=1575868135818_ubuntu18.04-3.18.iso of=/dev/disk5 bs=1m # 出现如下提示表示成功 # 1934+1 records in # 1934+1 records out # 2028060672 bytes transferred in 641.515462 secs (3161359 bytes/sec) # 成功!此时若是系统报错,识别不了U盘,不用管,快去装你的linux吧!