openSUSE Tumbleweed 上讀寫 Windows BitLocker 加密磁碟的例子

來源:互聯網
上載者:User


安裝依賴包

根據說明,依賴包包括,

編譯器, gcc 或 clang
cmake (至少 2.6 版本)
make


FUSE 標頭檔
PolarSSL/mbedTLS 標頭檔
可選:ruby 標頭檔
其中 gcc cmake make 一般系統中預設都安裝了,不過再試試也沒什麼,

sudo zypper in gcc cmake make


然後是 FUSE 包,

sudo zypper in fuse-devel


最後是提供Data Encryption Service的 PolarSSL/mbedTLS。mbedTLS https://tls.mbed.org/就是改名後的 PolarSSL。它們是一個東西。沒有 mbedTLS 就安裝 PolarSSL 試試看。在 openSUSE 安裝源裡的是 mbedTLS。直接安裝,

sudo zypper in mbedTLS-devel


至於 Ruby 屬於可選內容。如果安裝時關聯 Ruby,則安裝後可以提供一個 dislocker-find 模組(一個 Ruby 指令碼)用於在所有串連的硬碟中嘗試尋找使用 BitLocker 加密的分區。所以如果不需要這個功能的話就不用安裝 Ruby。如果要安裝的話,

sudo zypper in ruby-devel /usr/bin/ruby


需要 /usr/bin/ruby 是因為在 RHEL 7 中的是 rubypick 而在 RHEL 6 或 5 中是 ruby。

安裝 DISLOCKER 穩定版
下載 dislocker。開發版本可以從 GitHub 下載,穩定版本(目前是 0.5.2)可以從 HSC 下載。這裡選用的是穩定版本。

wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker-0.5.2.tar.gz -O ~/tmp/dislocker.tar.gz


這裡 wget 使用 -O 指定儲存的目標檔案夾和檔案名稱。如果只是想指定儲存檔案夾而不想改變檔案名稱,則應該使用 -P 選項(-P ~/tmp)。

然後解壓,同樣指定目標檔案夾(-C 選項),並使用 --strip-components=1 來忽略掉壓縮包裡內建的檔案夾(這是個帶版本參數的檔案夾),

tar -xf ~/tmp/dislocker.tar.gz -C ~/tmp/dislocker --strip-components=1


然後就可以直接安裝了,

cd ~/tmp/dislocker
 cmake .
 make
 sudo make install


自動安裝指令碼

!#/bin/bash
 sudo zypper in gcc cmake make fuse-devel mbedTLS-devel
 # sudo zypper in gcc cmake make fuse-devel mbedTLS-devel ruby-devel /usr/bin/ruby
 mkdir -p tmp/dislocker
 wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker-0.5.2.tar.gz -O tmp/dislocker.tar.gz
 tar -xf tmp/dislocker.tar.gz -C tmp/dislocker --strip-components=1
 cd tmp/dislocker
 cmake .
 make
 sudo make install


掛載 BitLocker 加密的磁碟分割

插上帶有 BitLocker 加密分區的磁碟,使用 fdisk 查看磁碟及分區資訊。一般可以根據自己熟悉的該分區的容量區分出來。當然也可以用 dislocker-find 如果安裝的時候使用了 Ruby 的話。

這裡假設沒有 dislocker-find,電腦只有一個硬碟,現在外接一個帶兩個分區的移動硬碟,其中一個容量為 500GB 的分區是 BitLocker 加密的。磁碟裝置在 openSUSE 裡使用 /dev/sdX(X 為 a-z 的小寫字母)標識。所以本機內建磁碟為 /dev/sda,而外接移動硬碟為 /dev/sdb。

sudo fdisk -l
Disk /dev/sdb: 931.5 GiB, 1000170586112 bytes, 1953458176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd2840axx

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 1048586239 1048584192 500G 7 HPFS/NTFS/exFAT
/dev/sdb2 1048586240 1953454079 904867840 431.5G 7 HPFS/NTFS/exFAT


根據大小可以判斷為 /dev/sdb1,即 /dev/sdb 的第一個分區。。

建立一個空檔案夾來放置 dislocker 解密掛載點,以免使用現有檔案夾時 disklocker 會提示目標檔案夾不為空白的警告。

mkdir /dislocker


先用 disklocker 解密該分區,並選用 /dislocker 為解密掛載點,

sudo dislocker -u -V /dev/sdb1 -- /disklocker
按提示直接輸入解密用的使用者密碼(user password)即可,不是 root 密碼。其中 -u 表示使用使用者佈建的使用者密碼來解密。也可以用 -p 表示使用恢複密碼(recovery password)解密。而 -V 指定要解密的分區的路徑。-- /dislocker 表示將解密對象傳遞給 FUSE 並使用 /dislocker 檔案夾作為解密檔案掛載點。解密後對象訪問的路徑為 /dislocker/dislocker-file。

然後使用系統的 mount 指令掛載解密後的檔案,假設預先建立的掛載點為 /myencryptdisk。

sudo mkdir /myencryptdisk
sudo mount -o loop,rw /zdislocker/dislocker-file /myencryptdisk


這樣就將該磁碟分割掛載為可讀寫的檔案夾 /myencryptdisk 了。

可能是因為 openSUSE 的檔案瀏覽器 Dolphin 的關係,也可能是因為這東西本來就是這麼運作的,該分區掛載後在 Dolphin 左側邊欄顯示為 Loop Device,而不是掛載點的名稱 myencryptdisk,也不是該分區的卷標。不過 Dolphin 地址欄的路徑是正確地顯示為 /myencryptdisk 的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.