按 Forward 進入,接著再按一次 Forward 會自動去掃描本地硬碟中的 Windows 分割區,找到需要用到的 .sys 檔案(ntfs.sys,cdfs.sys,fastfat.sys,ntoskrnl.exe),或按 Skip 手動指定檔案的存放位置。
但是應該都會出現錯誤訊息,告知 ext2fsd.sys 的錯誤,忽略即可,因為我們用不到 ext2fsd.sys,而且掃描到最後可能會有某些檔案找不到,或整個 Captive NTFS 這支應用程式 crash 了,所以在此我們不使用 Captive NTFS GUI 介面,而是完全手動來做設定、掛載 NTFS 等等。
先使用原本 kernel 核心中的 ntfs driver(僅能唯讀) 將 Windows 的 NTFS 分割區掛起來
開個 Terminal,鍵入 su - 將身份切換成 root
- 代碼: 選擇全部
mkdir /ntfs
建個目錄等會要掛載分割區(由於 /mnt 底下有掛 autofs,若是掛到 /mnt 會導致 autofs 失效)
- 代碼: 選擇全部
mount -t ntfs /dev/hda1 /ntfs
使用 find 指令找出我們所需要的檔案(ntfs.sys,ntoskrnl.exe,fastfat.sys,cdfs.sys) 前二個是一定要的,若是原本就知道位置,就不需要再用 find 指令,直接拷貝到 /var/lib/captive 即可。
- 代碼: 選擇全部
find /ntfs -name "ntfs.sys"
可能會有好幾個,我們要找的是 drivers 底下的那一個
例如: /ntfs/WINDOWS/system32/drivers/ntfs.sys
並將找到的 ntfs.sys 拷貝到 /var/lib/captive 中,另外二個(cdfs.sys、fastfat.sys 也在 drivers 中)
- 代碼: 選擇全部
cp /ntfs/WINDOWS/system32/drivers/ntfs.sys /var/lib/captive
cp /ntfs/WINDOWS/system32/drivers/fastfat.sys /var/lib/captive
cp /ntfs/WINDOWS/system32/drivers/cdfs.sys /var/lib/captive
- 代碼: 選擇全部
find /ntfs -name "ntoskrnl.exe"
找到 /ntfs/WINDOWS/system32/ntoskrnl.exe
也將之拷貝出來
- 代碼: 選擇全部
cp /ntfs/WINDOWS/system32/ntoskrnl.exe /var/lib/captive
接著要啟動 captive-sandbox-server,但是在能啟動之前要手動建立 captive 群組及使用者,captive-sandbox-server 才能正常啟動
建立 captive 群組
vi /etc/group (也可以用 joe)
在最後一行加入
- 代碼: 選擇全部
captive:*:9999:
建立 captive 使用者
- 代碼: 選擇全部
useradd -u 9999 -g 9999 captive
啟動 captive-sandbox-server
- 代碼: 選擇全部
captive-sandbox-server &
將之前掛載在 /ntfs 的分割區給釋放掉
- 代碼: 選擇全部
umount /ntfs
接著用新的 driver(Windows 本身的 driver) 來掛載同一個 partition
- 代碼: 選擇全部
mount -t captive-ntfs /dev/hda1 /ntfs
此時的 /ntfs 內容就是 /dev/hda1 的內容,最重要的是也可以寫入了