跳到主要內容

USB flash Partition

原本以為 USB 隨身碟(俗稱拇指碟)可以像硬碟一樣,可以分割成好幾個 partition,但是查了一下資料[1],才得知 USB 隨身碟因為有一個 Removable Media Bit (RMB),在 Windows 作業系統中不提供將此種媒體做分割,而在 Linux 系統中是可以製作分割及讀取這類媒體的分割區。

  目前要在  Windows 系統中製作 USB 分割的作法,可以使用 [1] 的作法,利用 IBM 所提供的移除工具 MicroDrives(xpfildrvr1224_320.zip),將 RMB 移除。這種作法是欺騙 Windows 系統,將 USB 隨身碟當成 USB 硬碟,讓 Windows 可以製作或讀取 USB 的 partition。缺點在於只能在安裝 MicroDrives 驅動程式的系統中才可以讀取先前製作的 partition,如果沒有安裝,則僅能讀取第1個 partition。

  另外, Lexar 公司有一個工具程式,名叫 BootIt,可以將某些廠牌的 Removable Media Bit 移除,但是,自己下載這個程式,在 Windows 7(64 bits) 系統中無法執行,可能只能在 XP 系統執行吧。

  後來採用 [1] 所描述的方法,將 IBM 的驅動程式放在 partition 1 中,讓其他的電腦可以讀取到修改後的驅動程式,就可以讀取到其他的 partition 了。 但是經過實際的測試,無法在 Windows 7(64 bits) 中安裝 IBM 這個 driver[2]。又再 google 中找到 Win 64版本的驅動程式[3],測試以後,造成 Windows 無法開機,在修復的狀態下,切換到 cmd 的模式,將 windows\system32\drivers\cfadisk.sys 刪除,才恢復原來的開機畫面。

最終,將 USB 恢復原來的 driver 以後,先做下列的動作[4]:

1. 執行 diskpart 程式,「開始」-> 輸入 diskpart

2. list disk; select disk #       // # is where in this disk list

3. create partition primary

4. list partition; select partition 1

5. active

然後將 USB format 成 fat32 的格式,接著下載 debian live iso 檔[5],使用 unetbootin-windows 軟體將 iso 檔燒至 USB 中,於是想要在 USB 中製作一個 Linux 的開機程式,而且又要能讓 Windows 可以存取 USB 硬碟,讓沒有光碟機的小筆電可以安裝 linux 的想法都解決了。

  結論是:只要將 USB partition 設成 active, format 成 fat32 格式,再將 linux kernel 燒至 usb,就不用再對 usb 做 partition ,所有的問題都解決了。

-------------------------------------------
[1] http://blog.rewolf.org/2010/09/usb.html?zx=8628766d0f769b5a
[2] http://www.prime-expert.com/articles/a05/enabling-multiple-partitions-on-removable-usb-storage-devices.php
[3] http://hardforum.com/showthread.php?t=1655684
[4] http://www.ehow.com/how_5942169_convert-bootable-iso-bootable-usb.html
[5] http://debian.nctu.edu.tw/debian-cd/current-live/

留言

這個網誌中的熱門文章

CodeBlocks 多國語言的設定步驟

多年來一直都是使用 CodeBlocks 英文的介面,不曾想過要將 CodeBlocks 設定成多國語言的開發環境,對於不習慣於英文介面的國人,設定中文的使用介面是非常需要的環境,在 CodeBlocks 論壇有一篇文章提到 :Do you know http://wiki.codeblocks.org/index.php?title=Internationalization ?這個連結說明在 Windows 系統如何設定 CodeBlocks 成為 Internationalization 的環境,整個設定過程如下: 到 CodeBlocks 翻譯文件網站 下載 .mo 檔案:下載時需要 Ubuntu One 的帳號及密碼,登入後點選 .mo 檔案(不要下載 .po 檔是可編輯檔) 系統會傳送一封信件,點選信件的連結,將 .mo 檔案下載 將檔案複製到 C:\Codeblocks\share\CodeBlocks\locale\zh_TW 目錄(沒有這個目錄請自己建立) 開啟 CodeBlocks >> Setting >> Environment >> View >> Internationalization 選項打勾 >> 點選 Chinese 重新開啟 CodeBlocks 要加入其他語言的 .mo 檔案,則在 locale 目錄中新增其他語言的目錄名稱,例如: 德國 de_DE,這樣 CodeBlocks 就是多國語言的開發環境了。 當如果要恢復英文的介面,只要取消 Internationalization 的選項勾選,然後再次重新開啟 CodeBlocks 就回到英文的開發環境。 後記: CodeBlocks 翻譯文件網站 要下載 .mo or .po 檔案需要等待系統回復信件到 Email 信箱,無法及時處理,將這些檔案儲存在 Google Driver 的 src/CodeBlocks 目錄,以後可以從這裡直接取用。

cmd 程式無法執行的解決步驟

因為要設定 cmd 的編碼方式為 Unicode 編碼( chcp 65001),可能不小心修改了編碼,而導致cmd 無法開啟,主要的原因是:「cmd 變成沒有編碼」,所以才造成 cmd 無法開啟。在 Windows 8 中要恢復 cmd 編碼的步驟如下: 1. 滑鼠移到左上角,會出現功能的選項,點選「搜尋」的圖示 2. 在輸入的格子中,輸入「cmd」但是不要按下 enter 3. 滑鼠移到「cmd 命令提示字元」,,按下「滑鼠右鍵」 4. 下面會出現一些選項,點選「開啟檔案位置」,如此可以找到 cmd 命令提示字元的位置 5. 在「 命令提示字元」檔案中按下滑鼠右鍵,並點選「內容」 6. 點選「選項」,把「950 - Big 5 繁體中文」的編碼加入  

洗鏡光 - DCview.com達人部落格

要找 working set 的資料,從 [1] 的網站中得到他寫的作業系統筆記,而他筆記的內容大部分是從洗鏡光老師投影片的內容整理而來,於是 google "洗鏡光" 找的洗鏡光老師的投影片,結果是:「洗鏡光 - DCview.com達人部落格」,這是介紹「相機」的網站阿,怎麼是洗鏡光 老師的 blog 呢? 後來自己認為:「洗鏡光老師不可能沒有自己的網頁」,於是在「程式設計俱樂部」論壇[2]中找到洗鏡光老師的發言,其中有老師的英文名字(   shene ),再使用 shene 找,於是在找到洗鏡光老師[3]在美國的網站。從老師英文的網站中,在得知老師在台灣的網站就是「洗鏡光 - DCview.com達人部落格」,繞了一大圈才在「文章列表-- 電子計算機(電腦)科學 (3)」中,真正找到洗鏡光老師的投影片。 在 blog 中,另外有2篇文章,有一篇是說明「浮點數精確度」的問題,是值得詳細閱讀。 -------------------------------------------------------------- [1]  http://nixchun.pixnet.net/blog/category/523852 [2]  http://www.programmer-club.com.tw/ [3]  http://blog.dcview.com/blog.php?m=Bj8CZQ%3D%3D