- 打開一個「終端機(Terminal)」視窗。如果您找不到「終端機」視窗在哪裡,可以點選右上角的「Spotlight」(放大鏡圖示),輸入「終端機」或「Terminal」,都可以找到。
- 將空白的 SD 卡放入 MacOS X 的讀卡機中。如果您的 Mac 沒有 SD 讀卡機,可以購買一個「SD 轉 USB」的轉接器,即可將 SD 卡經過轉換後,直接插入 Mac 的 USB 槽中。
- 接著輸出「diskutil list」指令,列出該部電腦內的所有儲存設備。
- 請在列出來的清單找找看,有沒有磁碟大小與您的 SD 卡相符的?假設您的 SD 卡是 8GB,那就找找看有沒有接近 8GB 的儲存裝置?
- 記下 SD 卡在 MacOS X 中設備檔的代表路徑。看起來應該像是「/dev/diskX」(X = 0, 1, 2, 3…)。假設您的 SD 卡設備檔代表路徑是「/dev/disk3」,記下它,接著做下一步。
- 用「cd」指令,切換當前路徑至包含 .img 映像檔所在地。用「ls」觀看映像檔全名,假設您的映像檔名稱為「2012-12-16-wheezy-raspbian.img」。記下它,接著做下一步。
- 輸入
sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/disk3 bs=2M
開始將映像檔燒錄到 SD 卡。其中的「if」,是「Input File」的縮寫。「of」是「Output File」的縮寫。「bs」是「Block Size」的縮寫。 - 等待一會兒,您的 SD 卡燒錄完畢,就可以直接使用了。
2013年1月17日
燒錄 Raspberry Pi 的 SD 卡(3/4):使用 Mac OS X 系統
如果您的電腦使用 MacOS X,恭喜您!您不需要額外軟體,就能將 Raspbian 映像檔燒錄到 SD 卡上。只要開啟 MacOS X 上的「終端機(Terminal)」,就可以透過「dd」這個指令來燒錄映像檔。詳細步驟如下:
訂閱:
張貼留言 (Atom)
紀大哥你好 我依照你的步驟做下來 下cd指令
回覆刪除到包括我載的2012-08-08-wheezy-armel.img的路徑之後
然後在下ls指令看到我的sd卡裝置位置在/dev/disk1
最後下這個指令
sudo dd if=2012-08-08-wheezy-armel.img of=/dev/disk1 bs=2M
電腦叫我輸入完密碼後按enter會出現dd: bs: illegal numeric value
請問這該怎麼解決??
ps:我的作業系統是osx 10.8.3
我上網查過,某些 SD 卡接受的 bs(Block Size)單位必須是小寫(某些則是大寫)。所以你試試看把指令改成:
刪除sudo dd if=2012-08-08-wheezy-armel.img of=/dev/disk1 bs=2m
請注意最後的 bs=2m 不再是 bs=2M。
如果還不行麻煩您再提供錯誤訊息給我。
dd: /dev/disk1: Resource busy
回覆刪除輸入完
跳這個怎麼處理?
您可以把「diskutil list」指令的輸出,跟:
刪除「sudo dd if=2012-08-08-wheezy-armel.img of=/dev/disk1 bs=2m」
這個指令的輸入貼給我嗎?
(其中 2012-08-08-wheezy-armel.img 需與您下載下來的 Raspbian 檔名相同,不能照抄我的。而 /dev/disk1 也得看您輸入 diskutil list 後,SD 卡的真實名稱而定,也不能照抄我的)
你好,我也遇到一樣的狀況。
刪除-----------------------------------------------------------
yvette:Desktop yvette$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 319.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.7 GB disk1
1: Windows_FAT_32 NO NAME 15.7 GB disk1s1
yvette:Desktop yvette$ sudo dd if=2014-06-20-wheezy-raspbian.img of=/dev/disk1 bs=2m
dd: /dev/disk1: Resource busy
-----------------------------------------------------
請指正,謝謝
您好:
刪除您可以試試看把 SD 所在的 /dev/disk1 先 unmount 掉,像這樣:
diskutil unmountDisk /dev/disk1
然後再做一次,應該就不會有「Resource busy」的錯誤訊息了。完整的動作建議如下:
(1) 先變成 Super User(這步不做也可以,就得在下列每個指令前添加 sudo):
su
(2) 先卸除 SD 讀卡機的掛載(由您提供的 diskutil list 已知,SD 讀卡機在 /dev/disk1):
diskutil unmountDisk /dev/disk1
如果成功的話,您會看到下列的成功訊息:
Unmount of all volumes on diskN was successful
(3) 將映象檔寫入:
dd if=2014-06-20-wheezy-raspbian.img of=/dev/disk1 bs=2m
如果還不行,那就再來信研究看看。
想請問一下,在mac下燒錄SD,速度會不會很慢??
回覆刪除我用的是air(2012年版的),燒錄速度卻只有2mb/sec
安裝2GB左右的wheezy-raspbian.img
卻要花費900秒以上
但是同樣的SD卡,在Windows上用Win32DiskImager燒錄,
卻可以跑到10mb/sec的速度,
不知這是怎麼了??
謝謝。
我個人雖然沒有測量 SD 卡在 Mac 上的燒錄速度,不過我個人覺得不會很慢耶。 我的Mac是2011年版的MacBook Pro(8GB RAM)就是了。
刪除要先 umount 掉~,我找到的答案!
回覆刪除回報一下:
刪除執行 dd之前得先umount SD,我不會指令,所以用Disk Utilities來 umount~
在Mac裡2M可能必需是小寫才不會出現 dd: bs: illegal numeric value
Hi,作者您好,我想請問為什麼要先umount ?
回覆刪除您好:
刪除其實「先 unmount」這回事並非人人得做。正常情況下是不用先 unmount 就能存取剛插入的 SD 卡的。但因為 SD 卡裡面的儲存媒體,是可抽換、可改變的。有的時候系統會緊緊抓著上一次插入的 SD 卡媒體資料不放,當嘗試讀取您現在插入的 SD 卡時,就會告訴您「SD 讀取槽正在忙碌中」之類的訊息。此時如果先 unmount 掉一次,重新要求系統再 mount,比較有可能讀取得到新 SD 卡的內容。這跟當機之後重新開機,系統就會恢復正常的的動作是差不多的。
作者已經移除這則留言。
刪除您好,
回覆刪除我原本用8GB的SD卡,如果將這一份8GB的映像檔燒錄到16GB的SD卡會有問題嗎?還是有其他複製的方式呢?謝謝
Sincerely,
Alice
您好:
刪除如果使用 16GB 的 SD 卡,只要重新到官網下載最新版的 Raspbian 作業系統,用類似的指令(dd)燒錄就可以了。
如果您說的是把原本燒錄在 8GB SD 卡上、且用了一陣子的 Raspbian,想把這 8GB 內的所有檔案重新打包(也就是說,不使用從官方下載的 Raspbian 映像檔,而採用自行打包的原 8GB SD 映像檔),然後改燒在 16GB SD 卡,希望藉由這種方法,達到使用新 16GB SD 卡時,能保留原先 8GB SD 卡上的舊設定。我覺得應該沒問題。不過我手頭上沒有 8GB 與 16GB 的 SD 卡可以試,只能用我所知的 dd 指令原理「想當然耳」而已。
如果把「舊 8GB」打包壓成映像檔,然後重燒在「新 16GB」上行不通,只能直接從官網下載原始的 Raspbian 映像檔 + 手工把舊設定重新套用上去了。您試試看,希望能夠成功!
您好,
刪除謝謝您的回覆!
我使用映像檔燒錄和dd的方式把8GB的系統搬到16GB的SD卡上,都顯示只有抓到8GB。後來發現了神奇的指令sudo raspi-config,選擇Expand Filesystem後reboot系統就會自動fit size囉!:D
喔!那真是太好了!我剛剛去看了一下 raspi-config 的 Expand Filesystem 選項的說明。由於我沒有你這樣的需求,所以之前沒有特別注意這個選項。學到一招了!謝謝!
刪除請問如果沒有指定bs的話,會怎樣?我看有人寫說要指定這個block size為1M,有人說2M,有人說32M?感謝!
回覆刪除我沒試過不指定 bs。不過就上方「LH2015/7/16 下午3:56」的回覆,把當初指定成 bs=8GB,搬到 bs=16GB 上,一開始會抓不到多出來的 8GB。但只要到 raspi-config 內選擇「Expand Filesystem」選項,Raspbian 作業系統就會擴充至正確大小(16GB)來看,我會建議還是指定一下 bs 值。不過 bs 值到底指定多少似乎不重要,只要足夠容納整個作業系統,bs 值不超過實際 SD 卡大小(也就是 bs 值寧可填小一點),最後都可以靠 raspi-config 擴充到正確大小。
刪除我手頭上 SD 卡不多,沒辦法一一幫您試試看。但用一些合理推理,情況應該如我上述所示。當然,您不必盡信我說的,您可以自己試試看。也歡迎您把試出來的結果回報到這個版,嘉惠其他跟您有相同問題的網友。
你好,請問我用win32 disk imager 燒錄sd card,燒進64G記憶卡,燒成功後變成62.9MB,有燒成功,這樣是正常的嗎?
回覆刪除您好:
刪除記得這個好像是老問題了。您可以使用「sudo raspi-config」命令,來把 SD 卡完整的空間要回來。截圖可以看這裡:
https://goo.gl/Ki0QUC
您可以看到,進入「sudo raspi-config」後,選單的第一項就是「Expand Filesystem」(直譯:擴張檔案系統),後面的說明是「Ensures that all of the SD card storage is available to the OS」(直譯:確保所有 SD 卡的空間在作業系統內皆可用)。您選擇這一項後,再看看空間是否回來了。如果沒有,再麻煩您提供更詳細的資訊以茲進一步的判斷。
希望這樣的建議有用!
感謝~
回覆刪除