it:mac:book:storage

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
it:mac:book:storage [2019/12/25 16:38]
ghsrobert 準備入手
it:mac:book:storage [2020/10/01 21:16] (目前版本)
ghsrobert [Baseqi+microSD] Exhaust 自動執行 bindfs command
行 73: 行 73:
  
 ===== 入手 ===== ===== 入手 =====
 +
 +==== Baseqi+microSD ====
 /^20191225^/ 今天想再跟 Yahoo 商城確認他們的 $1199 Samsung 256G microSD 卡是不是真的是臺灣星睿奇公司貨,但該網站問答系統今天竟然一直說忙碌。結果飛比顯示,燦坤,甚至 PChome 今天也都 $1199!而且都說是 10 年保固的臺灣公司貨 ∴就選了比較可靠的 PChome 下單了。(六期 0 利率 × $199) /^20191225^/ 今天想再跟 Yahoo 商城確認他們的 $1199 Samsung 256G microSD 卡是不是真的是臺灣星睿奇公司貨,但該網站問答系統今天竟然一直說忙碌。結果飛比顯示,燦坤,甚至 PChome 今天也都 $1199!而且都說是 10 年保固的臺灣公司貨 ∴就選了比較可靠的 PChome 下單了。(六期 0 利率 × $199)
  
 接著再買了 Baseqi 隱形轉卡 $599(郵局配送 +$30)。 接著再買了 Baseqi 隱形轉卡 $599(郵局配送 +$30)。
 +
 +/^20191226^/ Samsung microSD 到貨了!
 +  * 預先分割為 exFAT
 +  * 實際容量 256.05 G 好像沒有灌水
 +  * 但想要測試時,卻發現在 macOS 上居然一開始是唯讀的!
 +  * 用<code bash>$ diskutil list</code>一查,發現格式是 ''Windows_NTFS'' <<==>>((<code>
 +/dev/disk0 (internal, physical):
 +   #:                       TYPE NAME                    SIZE       IDENTIFIER
 +   0:      GUID_partition_scheme                        *121.3 GB   disk0
 +   1:                        EFI EFI                     209.7 MB   disk0s1
 +   2:          Apple_CoreStorage Macintosh HD            120.5 GB   disk0s2
 +   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
 +/dev/disk1 (internal, virtual):
 +   #:                       TYPE NAME                    SIZE       IDENTIFIER
 +   0:                  Apple_HFS Macintosh HD           +120.1 GB   disk1
 +                                 Logical Volume on disk0s2
 +                                 3D921FD5-49C9-47BB-A481-0A7081BE34BE
 +                                 Unencrypted
 +/dev/disk2 (internal, physical):
 +   #:                       TYPE NAME                    SIZE       IDENTIFIER
 +   0:     FDisk_partition_scheme                        *256.1 GB   disk2
 +   1:               Windows_NTFS                         256.1 GB   disk2s1
 +</code>)) /-騙人是 exFAT 啊 :s-/ 後來發現無論如何這邊都是顯示 NTFS,但 Disk Utility 還是顯示 exFAT,真怪
 +  * 想要再格式化為 exFAT 居然失敗 :o
 +  * <code bash>$ diskutil eraseDisk ExFAT GHSRobert-256 disk2s1
 +A volume was specified instead of a whole disk: disk2s1
 +Specify a whole disk, or instead use diskutil eraseVolume to erase a volume on a specific partition</code><code bash>$ diskutil eraseDisk ExFAT GHSRobert-256 disk2
 +GHSRobert-256 does not appear to be a valid volume name for its file system</code><code bash>$ diskutil eraseDisk ExFAT GHSRobertMBASidecar disk2
 +GHSRobertMBASidecar does not appear to be a valid volume name for its file system</code><code bash>$ diskutil eraseDisk ExFAT Test disk2
 +Started erase on disk2
 +Unmounting disk
 +Error: -69877: Couldn't open device</code><<怒>><code bash>$ diskutil eraseVolume ExFAT Test disk2
 +Started erase on disk2
 +Unmounting disk
 +Error: -69888: Couldn't unmount disk</code>
 +  * 結果後來居然按照這篇 [[https://www.raspberrypi.org/forums/viewtopic.php?t=104006|Mac SD card creation problem, Error: -69877: (solved) - Raspberry Pi Forums]] 說的,把 Samsung 轉卡的 lock 撥到距離右邊約 75% 的地方,再插卡,就真的可以讀寫了 <<==>> 太扯了!\\ 希望 Baseqi 不要有這樣的問題……
 +  * 開始把 ~ 目錄中幾個占好幾 G 的資料夾搬到 SD 卡上~
 +
 +/^20191227^/
 +  * 不卸載記憶卡的話,果然會防止 MacBook 進入 standby(deep sleep)
 +    * 之前已有下載 Mountain app 了,但只能試用 30 分鐘 ∴就等回家拿到 Baseqi 轉卡再正式試用吧!
 +  * <div issue>小檔占用過多空間
 +昨天到今天放了約 9 GB 的資料夾到卡上,不料實際上卻占用了 35.58 GB,真是不理想,查了一下果然是檔案系統「配置單位大小」的問題,exFAT 預設配置單位太大,小檔容易浪費太多空間,參考:
 +  * [[https://www.mobile01.com/topicdetail.php?f=482&t=2073840|奇妙的檔案容量 - Mobile01]]
 +  * [[https://blog.xuite.net/jason_kuso/kuso/549437582-格式化+(Format)+教學,重灌基本功|配置單位大小|NTFS、FAT32、exFAT+怎麼選?|格式化 (Format) 教學,重灌基本功|配置單位大小|NTFS、FAT32、exFAT 怎麼選? @ 無中生有 :: 隨意窩 Xuite日誌]]
 +  * [[https://www.makeuseof.com/tag/mac-file-system-external-drive/|Which Mac File System Is Best for an External Drive?]]
 +  * [[https://apple.stackexchange.com/questions/213879/reformat-exfat-with-specific-device-block-size-and-cluster-size|macbook pro - Reformat exFat with specific Device Block Size and Cluster Size - Ask Different]]
 +
 +<code bash>$ diskutil info disk2s1
 +   Device Identifier:        disk2s1
 +   Device Node:              /dev/disk2s1
 +   Whole:                    No
 +   Part of Whole:            disk2
 +   Device / Media Name:      Untitled 1
 +
 +   Volume Name:              GHSRobertSD
 +
 +   Mounted:                  Yes
 +   Mount Point:              /Volumes/GHSRobertSD
 +
 +   File System Personality:  ExFAT
 +   Type (Bundle):            exfat
 +   Name (User Visible):      ExFAT
 +
 +   Partition Type:           Windows_NTFS
 +   OS Can Be Installed:      No
 +   Media Type:               Generic
 +   Protocol:                 USB
 +   SMART Status:             Not Supported
 +   Volume UUID:              C8BF5026-0077-3F03-AA08-019E0A1DC444
 +
 +   Total Size:               256.1 GB (256053870592 Bytes) (exactly 500105216 512-Byte-Units)
 +   Volume Free Space:        220.4 GB (220441608192 Bytes) (exactly 430550016 512-Byte-Units)
 +   Device Block Size:        512 Bytes
 +   Allocation Block Size:    262144 Bytes
 +
 +   Read-Only Media:          No
 +   Read-Only Volume:         No
 +
 +   Device Location:          Internal
 +   Removable Media:          Yes
 +   Media Removal:            Software-Activated
 +</code>可以看出這卡預設的配置單位大小居然達到 256KB。
 +cf. Seagate 1TB 隨身硬碟 exFAT 之前我格式化的配置單位是 128KB;MBA 主 SSD HFS+ 配置單位更只有 4KB!
 +
 +考慮重新格式化為 HFS+。
 +  * [[https://apple.stackexchange.com/questions/271234/which-file-system-for-an-sd-card-permanently-mounted-on-my-mac|disk utility - Which file system for an SD card permanently mounted on my Mac? - Ask Different]]
 +
 +/^20191227 晚^/ 拿到 Baseqi 轉卡後,把資料先備份到隨身硬碟上,然後把記憶卡和 Baseqi 緊緊合體,再緊緊插入讀卡機 XD
 +然後就格式化成 HFSX(區分大小寫),__配置單位是 4KB__。不過,分割表到底該用 Apple 的,還是 GUID 呢?
 +☞ [[https://macranger.com/drive-format/|用 Mac 來格式化隨身碟非常簡單,「三步驟」快速完成你要的需求 | MacRanger]]
 +看來還是乖一點,用 GUID 配置表 + HFS+(不區分大小寫)吧!→ ✔(讀寫速度似乎略比 exFAT 慢一點不過還好)
 +然後再把一堆小檔複製過來 → 果然不再虛佔磁碟空間了!
 +</div>
 +  * <div issue>卡上可否放 Parallels Desktop 虛擬機?
 +  - 把 PVM 檔複製到卡上,開機
 +  - 基本:卸載記憶卡時,是否需要關機?或是只要中止就好?
 +    - 中止虛擬機 → 退出記憶卡(我是用 eject)
 +    - 重新插入記憶卡(結果得先「實體」拔出卡,費了一番工夫才用縫衣針頭把 Baseqi 拉出來 :s)
 +    - 恢復虛擬機 ✔
 +  - 要卸載記憶卡時,會自動中止虛擬機嗎?
 +    - PD 預設沒有這個功能
 +    - Jettison+PD 是不會……Jettison 會回報說因為 PD 正在使用哪些檔案所以無法卸載磁碟
 +    - 我有看到這麼一段:<div>
 +<blockquote>Parallels Desktop is designed to operate like an ordinary computer application. This means that you do not have to change the virtual machine's state from running to paused, suspended, or stopped before putting your Mac to sleep. In sleep mode, your Mac does not allocate any resources to the running applications (including Parallels Desktop and all virtual machines) so that they are stopped automatically. As you start your Mac, all the applications are automatically up and running again.</blockquote>
 +<div right>--- [[https://kb.parallels.com/123111|Difference between Shut Down, Stop, Suspend and Pause operations]]</div>所以也許我不要把虛擬機放 SD 卡上了,改為放回 SSD?
 +</div>
 +  - 用 Mountain 自動卸載+重載記憶卡時,會自動中止+恢復虛擬機嗎?
 +
 +Mountain 只能試用半小時,而 Jettison 可以試用 15 天~
 +
 +把工具準備好:
 +  * 查詢電腦休眠、喚醒歷程的指令:<code bash>pmset -g log|grep -e " Sleep " -e " Wake " -e " DarkWake "</code>
 +  * 查詢目前哪些狀況阻止電腦休眠:<code bash>$pmset -g assertions</code>
 +  * 查詢目前休眠功能各種相關參數:<code bash>$pmset -g</code>
 +  * 查詢:磁碟被強制退出的紀錄:[[https://apple.stackexchange.com/questions/169756/using-console-app-how-to-find-disk-force-eject-logs|macos - Using Console.app - how to find disk force eject logs? - Ask Different]]
 +
 +/^20191229^/ 昨天開始試用 Jettison,先用預設設定(以 unmount 取代 eject),後來改成也在睡眠時 unmount SD 卡。目前還好。
 +但從 ''pmset -g'' 發現我好像這幾年一直都沒有使用 hibernate,為什麼啊?不過有的時候 sleep 超過 3 小時好像確實有進入再深一層的睡眠,RAM 的狀態有存到磁碟中,所以才會有之前睡眠回來被告知磁碟已滿的狀況。
 +  * 我想起來為什麼後來一直沒有用 hibernate 了──想保護 SSD,怕每次都寫入一堆資料到 SSD 上的關係,所以才把 hibernate 關掉的
 +  * 如果我一直都用不到 hibernate 的話,這樣還有需要在 sleep 時卸除磁碟嗎?目前確認只要開著 SD 上的檔案,sleep 時 Jettison 就無法卸除 SD 卡了 FIXME
 +</div>
 +  * 將 macOS 使用者的一些重要目錄(~/Downloads、~/文件……)指向卡上的目錄?
 +    * 用 mount point?symlink?
 +    * [[https://www.lost-in-code.com/software/mac-os-change-downloads-folder/|Mac OS: Change Downloads Folder Location]] 是用 symlink
 +      * /^20200102^/ 開始用 symlink 來將 ~/Downloads 指向 SD 卡上,但並沒有很成功
 +    * [[https://apple.stackexchange.com/questions/97920/mount-folder-as-a-volume-osx|macos - Mount folder as a volume (OSX) - Ask Different]] 這邊有教用 bindfs → 馬上試試 ← 不支援 macOS 10.11 :(
 +      * 照[[https://apple.stackexchange.com/questions/197029/how-do-you-mount-bind-a-local-directory|這裡]]說的,從 FUSE 官網下載後自行安裝(原來我之前裝過了,但比較舊,所以這次就只是更新),然後再次 ''$ brew install bindfs'' → 裝好 bindfs 了!
 +      * 然後順利試著<code bash>
 +~$ mkdir test
 +~$ bindfs /Volume/SD/Downloads ~/test
 +</code>有顯示在 command line 中,但 Finder 中卻顯示為一個 OSX FUSE 卷宗,而非「test」資料夾耶
 +        * ↑研究 OSX FUSE 的 wiki,應該會有解吧
 +        * 加 ''-o local'' → 仍是一個 OSX FUSE 卷宗
 +        * /^20200106^/ 後來改用 ''-o volname=<磁碟名稱> -o volicon=<ICNS 格式圖示檔路徑>'' 的選項/,(不用 ''-o local'' 就不會顯示在「裝置」中,避免不慎卸載),/,這樣掛上的卷宗就比較像樣啦!
 +        * <div tip>把 bindfs 指令包成 app,一鍵執行:
 +/^20201001^/ 用上面的 bindfs 法,後來我做成一個 mountSD.command 放在桌面上,內容類似 ++++bash script|<div><code bash>#!/bin/bash
 +cd ~
 +bindfs -o volname=Downloads -o volicon=/Volumes/SD/Dropbox/images/logos\ \&\ icons/Mcdo-Design-Smooth-Leopard-Downloads-Folder-Blue.icns /Volumes/SD/Downloads/ ~/Downloads
 +bindfs -o volname=Music -o volicon=/Volumes/SD/Dropbox/images/logos\ \&\ icons/music\ folder.icns /Volumes/SD/Music/ ~/Music</code></div>++++
 +每次開機時第一步就執行,來掛載一個 Download、一個 Music
 +  * 但缺點是 .command 檔無法透過 Exhaust 自動執行 ∴每次都要先執行那個 .command 檔,然後再執行 Exhaust
 +  * 好幾個月以來一直想把 script「應用程式化」。隔了好幾個月,終於在昨天,用 [[https://sveinbjorn.org/platypus|Platyrus]] 這隻鴨嘴獸,順利包好了一個偽 app 啦!<<讚!>>
 +    * 但要注意,包在裡面的 script,環境變數大概與一般終端機中不同 ∴直接執行 bindfs 會找不到 command。透過<code bash>$ command -v <某個 command></code>(([[https://www.cyberciti.biz/faq/bash-file-command-not-found-how-to-install-file/|bash: file: command not found. How to install file - nixCraft]]))找到 bindfs binary 的所在路徑 /usr/local/bin,就把那個路徑放到 Platyrus 所包的 script 中的 bindfs 前面,這樣才能正確執行哦
 +    * 另外,Platyrus 的輸出介面「Text Window」可權充腳本的執行 output 或 verbose 區,除錯時可善加利用
 +</div>
 +      * 據說 OSXFUSE 缺點是沒有 inotify,無法監控磁碟變動,這就只好用用看結果如何了
 +    * 用 ''diskutil mount -mountPoint'' 呢?(([[https://apple.stackexchange.com/questions/242376/seeking-a-clean-way-to-mount-a-directory-on-one-hfs-drive-as-a-directory-on-ano|macos - Seeking a clean way to mount a directory on one HFS+ drive as a directory on another such drive on same machine - Ask Different]]))
 +  * /^20191229^/ 修改記憶卡圖示 ✔
 +  * /^20191228^/ 也把 SD 卡容量顯示在 Menu Stats 上了~
 +  * /^20191230^/ 考慮把 ~/Dropbox 也放到卡上
 +    * [[https://approductive.wordpress.com/2016/06/04/using-a-micro-sd-card-on-a-macbook-for-dropbox/|Using a Micro SD Card on a MacBook for Dropbox | approductive]]
 +    * /^20200109^/ 今天照 [[https://help.dropbox.com/zh-tw/installs-integrations/desktop/move-dropbox-folder|Dropbox 官方說明]],用 Dropbox 自己的機制來搬移 ~/Dropbox 到卡上囉~\\ → 未知錯誤!<<怒>>
 +    * 只好手動:
 +      - 暫停 Dropbox 同步
 +      - 把 ~/Dropbox 複製到 SD 上((有用到 [[https://github.com/pilisir/macOS_merge_copy|Merge Copy]] 服務來確保完整複製
 +      - 解除帳號連結後,重新連結帳號,並按 ''進階設定'',把 Dropbox 的位置改到 SD 上
 +      - 開始重新同步 ✔ ;)
 +      - 把舊的 Dropbox 資料夾刪了!
 +  * Alfred 檔案搜尋 ✔ ☞ [[https://www.alfredforum.com/topic/10882-search-scope-and-search-speed/|Search Scope and Search Speed - Discussion & Help - Alfred App Community Forum]]
 +  * [[https://docs.google.com/spreadsheets/d/1rJr2_5qqdo20BMpwAUpzFdACGNGQEr08eORMCjab9U0/edit#gid=0|自己管制各資料夾搬到 SD 卡上的進度]]
 +  * /^20200109^/ 買 SD 卡的初步目標達成!今天把 Dropbox 也移過去以後,SSD 的剩餘空間來到 31 GB。另外,確認暫時沒有要用 hibernate 模式,所以 SD 卡可以一直掛著不用卸載,不怕睡眠,那麼 Parallels Desktop 虛擬機也可以放上面了。接下來又有一些 SSD 空間可供應用程式運用啦~
  • 上一次變更: 2019/12/25 16:38
  • ghsrobert