在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吧!