Make NTFS writable on macOS

前言

NTFS 全稱是 New Technology File System,是微軟隨 Windows NT 系統開發的文件系統,因爲版權的問題 macOS 沒有開放對 NTFS 的寫權限。可是能夠經過從新掛載打開寫權限,方法以下:javascript

  1. 列出全部的外接存儲設備java

    $ diskutil list external
    /dev/disk2 (external, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0:     FDisk_partition_scheme                        *15.9 GB    disk2
    1:               Windows_NTFS DBand                   15.9 GB    disk2s1複製代碼
  2. 解掛載而後從新掛載node

    # 解掛載
    $ sudo diskutil umount /dev/disk2s1
    # 從新掛載
    $ sudo mount -o rw,auto,nobrowse -t ntfs /dev/disk2s1 /Volumes/DBand
    # 打開
    $ open /Volumes/DBand複製代碼

寫個小工具

雖然上述方法比較簡單可是對於普通人操做起來仍是比較麻煩的,並且每次都要輸命令也比較麻煩。所以打算寫個可視化的小工具。react

第一步:列出全部的外接存儲設備

經過 diskutil 能夠查看存儲設備的基本信息,咱們簡單的把他封裝了下,項目地址:github.com/d-band/ls-u…git

const getMediaList = require('ls-usb');

getMediaList()
  .then(data => {
    console.log(JSON.stringify(data, null, ' '));
  });

/*[{ "udid": "disk2", "name": "UDisk", "type": "Generic", "node": "/dev/disk2", "size": "15.9 GB", "size_bytes": 4026531840, "volumes": [{ "udid": "disk2s1", "mount": "/Volumes/DBand", "size": "15.9 GB", "size_bytes": 15938355200, "name": "DBand", "node": "/dev/disk2s1", "fs_type": "ntfs", "fs_name": "NTFS", "free": "15.9 GB", "free_bytes": 15938355200, "writable": false }] }]*/複製代碼

第二步:寫個基於 Electron 的小工具

項目地址:github.com/d-band/disk…github

主要技術點:npm

  • Electron:跨平臺桌面應用開發工具
  • dool:基於 Webpack 的打包工具
  • React:構建用戶界面的 JavaScript 庫
  • yax:基於 Redux 的狀態容器
  • sudo-prompt:圖形化的 sudo 提示框
# 全局安裝 dool
$ npm i dool -g

# 安裝項目依賴
$ npm i

# 運行 dool 編譯 electron-renderer 相關文件
$ npm run dev

# 再打開一個 Tab 啓動 electron
$ npm run start複製代碼

附個圖

Disky:make NTFS writable on macOS
Disky:make NTFS writable on macOS
相關文章
相關標籤/搜索