2008年12月6日 星期六

如何將 USB 隨身碟設定為唯讀?只能讀資料,不能寫入

隨身碟 (Universal Serial Bus-通用串列匯流排快閃記憶體盤) 太方便好用,很多公司行號或公家機關………可能會擔心內部人員透過USB 隨身碟將機密資料外流~

如何才能設定 Windows XP 讓它只能讀取隨身碟的資料,而不能寫入、儲存呢?

設定方法:

★ 第一步‧首先開啟登錄檔編輯程式,依序按下【開始】→【執行】,出現【執行】對話盒後…先輸入「regedit」…再按下「確定」。

★ 第二步‧ 接著從左邊的目錄區依序切換到【HKEY_LOCAL_MACHINE】→【SYSTEM】→【CurrentControlSet】→ 【Control】項目中…在【Control】項目上按一下滑鼠右鍵,再點選【新增】→【機碼】,並將他命名為「StorageDevicePolicies」,準備新增一個新的控制項目。 (如果你 (妳) 的電腦內…已經有「StorageDevicePolicies」這個機碼,則直接修改即可,不用另外新增!)

★ 第三步‧接著在剛剛新增好的「StorageDevicePolicies」機碼項目上…按一下滑鼠右鍵再點選【新增】→【DWORD值】。

★ 第四步‧將此 DWORD 值命名為「WriteProtect」。

★ 第五步‧接著在「WriteProtect」上…按兩下滑鼠左鍵,出現「編輯 DWORD 值」視窗後…在「數值資料」中輸入「1」,再按下〔確定〕,即可啟用磁碟保護功能!如果要取消防護,則可改為「0」再按下【確定】即可!

★ 第六步‧如圖,當使用者插入 USB 隨身碟後…只能讀取資料,不能寫入或編輯、刪除隨身碟中的資料。日後,如果要取消唯讀功能,只要把上面的「WriteProtect」設定為「0」,即可恢復為正常讀寫!

USB隨身碟-簡介

隨身碟 (又稱:優盤、U 盤、電子盤、閃存盤、手指………等) ,是一種用 NAND 快閃記憶體來進行數據存儲的介質,通常使用 USB 插頭。通常隨身碟體積極小、重量輕、可熱插拔也可以重複寫入~在 2006 年 11 月時…市面上販售的隨身碟的儲存容量介於 32MB 到 64GB 之間…容量大小因為快閃記憶體目前的密度而被限制,容量越大,則每 MB 的成本可能因為較貴的的組件而提高!有時 USB 記憶卡讀卡機也會被歸類為隨身碟。但是這類設備的記憶晶片並不是內建的,而是可以抽換的快閃記憶體卡片。

相較於其他可攜式儲存裝置 (尤其是軟碟片) ,隨身碟有許多優點:較不佔空間、通常操作速度較快、能儲存較多資料、並且可能較可靠 (由於沒有機械裝置) 。這類的磁碟使用 USB 大量儲存裝置標準,在近代的作業系統…如:Linux、Mac OS X、Unix 與 Windows 中…皆有內建支援。
隨身碟通常使用塑膠或金屬外殼,內部含有一張小的印刷電路板,讓隨身碟尺寸小到像鑰匙圈飾物一樣能夠放到口袋中,或是串在頸繩上。只有 USB 連接頭突出於保護殼外,且通常被一個小蓋子蓋住。大多數的隨身碟使用標準的 Type-A USB 接頭,這使得它們可以直接插入個人電腦上的 USB 埠中~

要存取隨身碟的資料,就必須把隨身碟連接到電腦;無論是直接連接到電腦內建的 USB 控制器或是一個 USB 集線器都可以!只有當被插入 USB 埠時…隨身碟才會啟動,而所需的電力也由 USB 連線供給!然而,有些隨身碟 (尤其是使用 USB 2.0 標準的高速隨身碟) 可能需要比較多的電源!因此,若接在像是內建在鍵盤或螢幕的 USB 集線器,這些隨身碟將無法工作。除非將它們直接插到控制器 (也就是電腦本身提供的 USB 埠) 或是一個外接電源的 USB 集線器上~

裝置元件
裝置的一端為一個 Type-A USB 插頭。在塑膠殼內有一張小小的印刷電路板。電路板上除了有簡單的電源電路外…還有一些銲接於電路板上的積體電路 (IC) 。一般來說,其中一個 IC 提供與 USB 埠連線的功能,另有一個 IC 用來驅動電路板上的記憶體,而另外一個 IC 則是快閃記憶體。

必要元件
通常一個隨身碟有三個部份:
Type-A USB 插頭 提供連接到電腦的介面
USB 大量儲存裝置控制器 提供 USB 裝置控制器及與快閃記憶體溝通的介面。此控制器含有一個 RISC 的微處理器及一些 ROM 與 RAM 。
NAND 快閃記憶體晶片 用以儲存資料。NAND 快閃記憶體也常用於數位相機。
石英振盪器 供應裝置運作所需的 12MHz 時序信號,並且控制裝置的資料輸出。

額外元件
隨身碟也可能含有:
跳線與測試接腳 在生產時可進行測試,或用來將程式碼載入微處理器中~
發光二極體 (LED) 提示正在傳輸資料或是正在進行讀取或寫入動作。
寫入保護開關 提供「寫入保護模式」功能,防止資料被覆寫。
未使用空間 提供放置第二個記憶體晶片的空間,讓製造商能夠利用舊有的印刷電路板來製造不同儲存大小的隨身碟,以滿足市場的需要。
USB 連接頭的蓋子 減少因為靜電而損壞隨身碟的機率,並且讓整體外觀更美觀。有些隨身碟不提供蓋子,而是將連接頭作成隱藏式,要用的時候才取出。另外有些隨身碟提供連接在本體上的旋轉蓋,以避免蓋子的遺失。
小環 有時在本體或蓋子上有一個小環,能夠讓鑰匙圈、頸鏈或其它幫忙攜帶與儲存隨身碟的東西穿過它。

尺寸大小及外型
有些製造商在他們的產品上精心製作了不同的裝飾。例如 Lexar 的Jump Drive,這款隨身碟有時太大而難以插入 USB 埠中!因為,電腦上的 USB 埠常常十分接近,插入過大的隨身碟有可能會擋住鄰近的埠!
最近也有隨身碟被做在手錶或是筆裡面~
過重或是過大的隨身碟…可能會導致與電腦的連線中斷!這個問題可以用一條短的 USB 連接線 (公對母) 來減少 USB 埠的壓力來解決!這些連接線相容於 USB,但不是 USB 的標準!

一般用途
個人資料儲存 隨身碟最常見的應用即是個人用以儲存及交換檔案,例如:文件、圖片與影像~
電腦修復 隨身碟在個人電腦修復領域十分成功!因為,它們可以將回覆或掃毒軟體送到被感染的電腦上,並且讓部份的資料在這種緊急狀態下…仍然可以保存!
系統管理 隨身碟在系統與網路管理者中也很流行!他們可以將設定資料及用來管理系統、除錯與回覆的軟體放在隨身碟上~
攜帶應用程式 隨身碟可用來攜帶應用程式到其它的電腦,不需經過安裝程序即可 使用。由隨身碟製造商支持的 U3 在支援 U3 的隨身碟上提供了一套應用程式設計介面 (API) 來提供攜帶應用程式的功能。另外,也有免費與開放原始碼的平臺 Portableapps 讓不支援 U3 的隨身碟也能夠使用類似 U3 的功能。airWRX 是另一個在隨身碟上執行,並讓電腦與鄰近的電腦進入一個多視窗、類似網頁介面的應用程式架構。Mozilla Firefox 與 Opera 網頁瀏覽器也有讓使用者能在隨身碟上執行的設定值。
音樂播放 許多廠商製造的小尺寸固態磁碟式數位音樂播放器,基本上就是一個隨身碟加上音效輸出與簡單的使用者介面。最有名的當屬蘋果電腦推出的 iPod shuffle,與創新科技的 MuVo。
啟動作業系統 與 LiveCD 類似!使用者可以在一個可開機的隨身碟上執行任何一個作業系統,這稱為 LiveUSB !

優缺點
隨身碟幾乎不會讓水或灰塵滲入,也不會被刮傷,而這些在舊式的攜帶式儲存裝置 (例如:光碟、軟碟片…) 等是嚴重的問題!而隨身碟所使用的固態儲存設計讓它們能夠抵抗無意間的外力撞擊。這些優點使得隨身碟非常適合用來從某地把個人資料或是工作檔案攜帶到另一 地~例如:從家中到學校或是辦公室,或是一般來說需要攜帶到並存取個人資料的各種地點。由於 USB 在現今的個人電腦中幾乎無所不在,因而到處都可以使用隨身碟~不過,小尺寸的隨身碟也讓它們常常被放錯地方、忘掉或遺失!
隨身碟雖然小,但相對來說卻有很大的儲存容量!有些隨身碟能夠儲存比一片 CD (700MB) 還多的資料,高階的隨身碟甚至可以儲存比一片DVD (4.7GB) 還多的資料!
隨身碟使用 USB 大量儲存裝置的類別,這表示大多數現代的作業系統都可以在不需要另外安裝驅動程式的情況下讀取及寫入隨身碟~隨身碟在作業系統裡面顯示成區塊式的邏輯單 元,隱藏內部快閃記憶體所需的複雜細節。作業系統可以使用任何檔案系統或是區塊定址的方式。有些電腦也可以利用隨身碟來開機。
與其它的快閃記憶體裝置相同,隨身碟在總讀取與寫入次數上也有限制!中階的隨身碟在正常使用狀況下可以讀取與寫入數十萬次~但當隨身碟變舊時… 寫入的動作會更耗費時間!當我們用隨身碟來執行應用程式或作業系統時…便不能不考慮這點!有些程式開發者特別針對這個特性以及容量的限制,為隨身碟撰寫了 特別版本的作業系統 (例如:Linux) 或是應用程式 (例如:Mozilla Firefox) 。它們通常對使用空間做最佳化,並且將暫存檔儲存在電腦的主記憶體中,而不是隨身碟裡。
大多數的隨身碟並不支援寫入保護的機制!這種在外殼上的開關可以防止電腦寫入或修改磁碟上的資料。寫入保護可以讓隨身碟用來修復被電腦病毒感染的電腦,而不會感染隨身碟內的檔案。
隨身碟比起機械式的磁碟來說更能容忍外力的撞擊,但仍然可能因為嚴重的物理損壞而故障或遺失資料!在自組電腦中…錯誤的 USB 連接埠接線也可能損壞隨身碟的電路!

安全性
有些隨身碟提供資料加密的功能。通常在檔案系統的下層使用全磁碟加密來達到。加密功能防止未經授權的人存取隨身碟上的資料;缺點則是因為沒有統一的標準,此隨身碟只能在少部份安裝有相容加密軟體的電腦上使用。
有些加密軟體可以不需安裝即可執行。這些軟體的執行檔可以跟加密的檔案一起儲存在隨身碟上。加密的檔案可以在執行微軟 Windows 的電腦上存取。其它的隨身碟允許使用者設定不同大小的加密與公開分割區。而為了 Windows、麥金塔、Linux 設計的加密軟體執行檔可以放在公開分割區中。有些較差的加密軟體可能需要管理者權限才能執行並存取資料。
新款的隨身碟支援生物指紋功能來確認使用者的身份。在 2005 年年中…在隨身碟上支援指紋功能比起標準的密碼保護來說還是較貴的選擇。大多數的指紋掃瞄裝置必須依賴作業系統中的驅動程式來檢驗指紋,因而這些隨身碟就只能用在執行微軟 Windows 作業系統的電腦。
有些廠商將隨身碟作為執行認證的裝置之一。其方式是使用隨身碟內的加密金鑰或是與目標系統內的軟體溝通來控制敏感系統的存取權限。這些系統被設計為除非隨身碟被接上主機,否則系統不會運作。有些「電腦鎖」被插入電腦時,表現得也像隨身碟一樣。
所有資料保護的方式也增加了合法使用者 (資料擁有者) 無法存取資料的風險!
隨身碟對大型組織來說是很大的安全性挑戰!因為它們的小體積以及方便性,讓沒有權限的訪客或是有惡意的員工…能夠在幾乎不會被發現的情況下偷走 機密的資料!同樣地,共用或是公共的電腦…也容易被攻擊者使用隨身碟放入惡意軟體~例如:Rootkit 或是封包擷取軟體…等。為了防止這些問題,有些組織禁止使用隨身碟,而有些電腦禁止一般使用者掛載 USB 大量儲存裝置 (這是 Windows XP Service Pack 2 的一個功能) !也有電腦使用第三方軟體來控制 USB 的使用。也有組織使用非科技的解決辦法:拔掉 USB 埠的連接線或乾脆用樹脂堵住 USB 埠。

掛載(mount) USB隨身碟

1.先查USB隨身碟是被系統辨識成那個裝置
fdisk -l

sda 很可能是硬碟,往下查容量可以找到隨身碟的編號
我們假設為sdb

2.建立USB隨身碟的掛載點:
mkdir /mnt/usb

3.掛載USB隨身碟
mount -v -t auto /dev/sdb /mnt/usb

-v 顯示資訊
-t auto 讓系統自動分辯檔案系統

4.到 /mnt/usb 可看到usb的內容

下面是 mount 的詳細說明

檔案系統的掛載與卸載(mount and umount)

因為Linux的檔案系統的階層可以跨越獨立的分割區以及多重的磁碟機,所以有需要在開機的時候自動掛載這些檔案系統。此外,可抽換式磁碟(如抽取式硬碟,軟碟,光碟等)以及遠端NFS伺服器上的檔案系統,會有經常性的掛載與卸載,因此不會採用自動掛載的方式。與掛載有關的所有資訊會被紀錄載/etc/fstab檔案中。當系統開機時,定義於/etc/fstab檔案中的檔案系統將會受到檢查與掛載的處理。當使用者想要掛載可抽換式磁碟時,亦會參考到/etc/fstab中的資訊。

檔案/etc/fstab是一的文字檔,如以下的範例:

/dev/hda1 / ext2 defaults 1 1

/dev/hda2 /home ext2 defaults 1 1

/dev/hda6 /root ext2 defaults 1 1

/dev/fd0 /mnt/floppy ext2 noauto,users 0 0


2.





/etc/fstab中每一列都有六個欄位,分別是:

1. Device(裝置)

這個欄位用來指定分割區的裝置檔,如/dev/hda1代表第一顆硬碟的第一個主要分割區。

2. Mount Point(掛載點)

這個欄位用來指定檔案系統所要掛載的目錄。如上例/dev/hda1包含root檔案系統,則會被掛載到 / 目錄。/dev/hda2 掛載到/home目錄,代表將第一顆硬碟的第二的主要分割區整個掛到/home底下,於是/home底下的使用者檔案便可共用一整個partition

3. Filesystem Type(檔案系統類型)

不同的檔案系統具有不同的Filesystem Type。一般Linux常用的Filesystem Typeext2(檔案系統類型在介紹mount指令時再作說明)

4. Mount Options(掛載類型)

這個欄位包含一份以逗號隔開的選項清單。一般指定檔案系統是要以唯讀,可讀寫,或預設等等的方式掛上。(詳細選項在mount指令說明)

5. Dump Frequency(備份頻率)

dump程式(一個標準的unix備份工具)會參考到/etc/fstab中每個檔案系統在這裡的設定,以決定每個檔案系統多久備份一次。設為0則代表不備分。

6. fsck的檢查順序

fsck 是一個unix標準的磁碟檢查及除錯的工具(程式)。開機時亦會執行fsck這個指令來檢查磁碟。當fsck指令的-A參數被指定時,便會參考到/etc/fstab這個檔案,並依照檢查順序欄位的數字大小依序作檢查。這個欄位只能出現012三個值。

0 表示fsck不檢查

1 先檢查

2 檢查完設為1的檔案系統後在檢查設為2的檔案系統。

掛載與卸載指令 – mount umount

mount 語法(有以下三種)

mount [-option] device(裝置名稱)

mount [-option] directory(資料夾名稱)

mount [-option] device directory

說明:

mount指令用來將其的檔案系統掛載到檔案系統的階層之上。第一種與第二種形式都會參考到/etc/fstab的組態。Why? 注意到掛載檔案系統就是將某個device (裝置)給他指定某個資料夾的位置,讓使用者存取。完整的指令便如第三種形式一般,指定某個裝置給某個資料夾。但當使用到第一或第二種形式時,由於只指定某個裝置或某個資料夾,mount指令便會直接來抓/etc/fstab對應的那一行,並找到其對應的裝置或資料夾。

假設/etc/fstab中有有一行:

/dev/fd0 /mnt/floppy ext2 noauto,users 0 0

當使用第一,二種形式時,可以簡單的下

mount /mnt/floppy

mount /dev/fd0

即可。但若要將某種裝置指定到與/etc/fstab中預設的位置不同時,便要用到第三種形式,也就是完整的指定。

[-option]

-a 掛載/etc/fstab檔中所列示的所有分割區。但有noauto選項的分割區除外。例如軟碟,光碟,或其他抽取式磁碟。

-h 顯示輔助說明

-r 將檔案系統掛成read-only(唯讀)

-w 將檔案系統掛成read-write(可讀寫)

-o mount-option 在命令列上指定掛載選項

-t fstype 指定檔案系統類型

掛載選項:

以下的選項可以用在mount指令中(上頁褐色部分,使用-o 選項)/etc/fstab檔案中(第四個選項)

sync 建立同步I/O,當對資料讀寫時,會同步寫入檔案系統。但因為同步,效率較差。

async 建立非同步I/O,一般使用這個。

auto 使用-a選項時會自動掛載的檔案系統。系統開機時會執行mount –a,也就是說,設定這個選項時,檔案系統便會在開機時被掛載。

noauto auto相反。

exec 允許分割區上所包含的程式可以被執行。

noexec exec相反

user 允許一般使用者掛載此檔案系統,但不允許一般使用者卸載。

users 允許一般使用者mountumount此檔案系統。

nouser 一般使用者不可mountumount此檔案系統。

ro 唯讀,與-r命令列選項相等。

rw 可讀寫,與-w命令列選項相等。

defaults 包含rwexecautonouserasync等。(defaults就不用指定一堆)

檔案系統類型:

以下的檔案系統類型可以用在mount指令中(上頁紅色部分,使用-t 選項)/etc/fstab檔案中(第三個選項)Linux包含的檔案系統類型非常之多,以下只列出最常用者:

ext2 標準linux檔案系統

msdos dos檔案系統

vfat 一般windowsFAT16FAT32均可在linux系統中指定為vfat檔案系統。

iso9660 光碟

nfs network file system。遠端檔案系統。

swap swap(虛擬記憶體)分割區。

特別注意:若樣將windows檔案系統掛上來,切記千萬別掛成ext2檔案系統。否則後果不堪設想。

mount 語法(有兩種)

umount [-option] device

umount [-option] directory

說明:

使用mount指令時,需完整指定devicedirectory相對應。但使用umount只需指定其中一個。因為umount是將檔案系統卸載,而只有已被掛載的檔案系統才能被卸載,系統當然知道哪個檔案系統被掛載到那個資料夾去(事實上是參考/etc/mtab檔案),所以只需指定裝置或資料夾其中一個。

umount /mnt/fd0

umount /mnt/floppy

便是一般卸載軟碟的用法。

Note: 光碟被掛載後,未被卸載前是退不出來的。各位可別以為光碟壞了

2008年12月5日 星期五

關於Ubuntu上用的UUID

UUID為Universally Unique Identifier的縮寫,Linux現在偏好使用UUID、LABEL或symlinks來識別系統上的儲存媒體裝置,其優點跟使用LABEL的理由 一樣不會因為變更硬碟連接順序(/dev/sda1 -> /dev/sdb1)而導致mount point掛錯partition,Ubuntu預設使用UUID辯認不同的分割區。

找出某個partition的UUID有3個方式:
1. sudo blkid
2. sudo vol_id -u /dev/sda1
3. ls -l /dev/disk/by-uuid/


2008年12月3日 星期三

自製KNOPPIX簡要說明

◆自製KNOPPIX簡要說明(2002-12-15修訂)

對於這一個「免安裝、免硬碟、立即享用 Linux」的單一片光碟(內
含約 1.7G 各種軟體) KNOPPIX 這裡就不再多做介紹了, 有興的人自
己去抓來玩.

以下想跟有興趣自製 KNOPPIX 的朋友分享一些我的經驗.

就是抓來一片 KNOPPIX 光碟後, 怎樣把它重新改造成更好用或更
個人化, 帶著它加上一個 USB 行動碟, 以後全世界的電腦都是你
可以立即上手的電腦了.
( KNOPPIX 對 USB 讀卡機(或稱隨身碟)是可以即插即用)
例如到國外, 如果沒有帶一台 Notebook 的話, 光帶這片 KNOPPIX
加一個 USB 隨身碟, 就很夠用了!

首先當然你要去 download 或者由別人給你一片 KNOPPIX 光碟.
(download 點: 可以到原 KNOPPIX 站裡列的各站, 如
ftp://ftp.uni-kl.de/pub/linux/knoppix/
或國內 ftp://cle.linux.org.tw/pub/iso/KNOPPIX/
ftp://cle.linux.org.tw/pub/iso/KNOPPIX/bv1al/
)

電腦的 RAM 越多越好, 有 256M 或以上是比較理想的.

在硬碟上開個 1GB 的 swap(一個 image 約 700M, swap要大於它)
準備一個 partition(例如 /dev/hdb7), 最好有 5G 以上比較好搬東
弄西的.
再來一個 partition(例如 /dev/hdb8) 準備 3G 好了, 可以放以後
你做出來的不同版本 ISO 檔.



好!現在開始進行 ---------------------->

用 KNOPPIX 光碟開機
將 /KNOPPIX 用 cp -Rp 到硬碟, 如
mount /mnt/hdb7
cp -Rp /KNOPPIX /mnt/hdb7/KNOPPIX-sys
這個 /mnt/hdb7/KNOPPIX-sys 目錄就是之後要來大改系統用的
這個 copy 要好一陣子(幾十分鐘 ?), 因為有 1.7G 左右的 data

再來 mkdir /mnt/hdb7/KNOPPIX-boot
這個是要來放主系統檔案以外的東東, 如開機 image 檔或其
它自己要加的程式、阿里不達的東東.

拷備 /cdrom/KNOPPIX/ 下的所有東東
(/cdrom/KNOPPIX/KNOPPIX ←這個檔不要copy)
到 /mnt/hdb7/KNOPPIX-boot

現在要開挖了!請注意!!!

要 exit 到完全退出 shell, 就是在純文字 mode 只出現
根目錄提示符號, 再進行以下動作, 否則它會出現一堆
bash: /dev/null: Permission denied

開始 ========>
chroot /mnt/hdb7/KNOPPIX-sys
mount -t proc /proc proc
dpkg -r --force-depends koffice (強制刪除 KDE office)
dpkg --purge koffice (澈底清除殘遺)
(我不喜歡也不用 KDE, 因為可說華而不實, 所以盡可能把 KDE 一些
沒用的東果都砍掉, 留 game 及 kstars, 這樣可以裝很多我想要的東東)
dpkg -r xxxyyyzzz (再清除某些你不要的東東)
dpkg -i /opt/aabbcc-123.deb
(可以事先將要裝的 debian packages cp 到
/mnt/hdb7/KNOPPIX-sys/opt/ 下面, 這時就可以直接 dpkg -i 來裝)
update-menus (刪除、安裝後, 建立新的 menu)



巡視一下 /etc/rc*.d
用 debian package 新裝某些 daemon 的話, 它會生一些蛋蛋出來, 最好
讓 rc1.d --- rc5.d 都只剩 K10xsession 以免做出來的光碟一開機就會跑
一些不必要的 service (除非你刻意要跑)
rc0.d 只要 K10xsession S90knoppix-halt
rc6.d 只要 K10xsession S90knoppix-reboot

rm /etc/*-
要清掉 /etc 底下的 passwd- group- ……之類的 *-
這是安裝某些 debian package 時(例如加入日文輸入轉換用的 canna)
它會自動新增 user 造成的, 如果不清將來的光碟開機後的系統會有無
法新增 user 的問題(當然也可以手動刪除link)

rm /var/mail/*
清掉系統自動產生的 mail

最後要離開前記得要
umount /proc

exit
結束 <========

現在就可以開使製作新的系統檔 KNOPPIX 的 image

mkisofs -R -l -V "KNOPPIX-cloop" -hide-rr-moved \
-v /mnt/hdb7/KNOPPIX-sys | create_compressed_fs - 65536 > \
/mnt/hdb7/KNOPPIX-boot/KNOPPIX/KNOPPIX
(以上三行是要連著一行當指令下)

要等上十幾分鐘才會完成(我是用 850MHz + 256M + 7200RPM swap 896M)

階段結束 <------------------------------

接著並不需要燒成光碟才能知道結果, 只要用軟碟開機就可以檢測
剛才所做的結果了.

cd /mnt/hdb7
ln -s KNOPPIX-boot/KNOPPIX KNOPPIX
就是要讓 hdb7 產生一個叫 KNOPPIX 的目錄, 這樣用軟碟開機後
它會從 /dev/hda1, hda2, hda3......一一去找有沒有叫 KNOPPIX
的目錄, 找到了, 就會以它當成 KNOPPIX cdrom 來用

開機軟碟的製作法是
dd if=/cdrom/KNOPPIX/boot-en.img of=/dev/fd0

修改軟碟
/KNOPPIX/boot-en.img
syslinux.cfg

DEFAULT vmlinuz
APPEND lang=tw ramdisk_size=100000 init=/etc/init noapic apm=power-off \
hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi \
vga=normal initrd=minisys.gz quiet BOOT_IMAGE=knoppix desktop=icewm
TIMEOUT 220

為了讓啟動參數接受 root 這個字, 把原來為 initrd=miniroot.gz 的改名
為 minisys.gz, 並且改 /etc/init.d/knoppix-autoconfig 對啟動參數的
偵測.



原 lang=us 改為 tw 以便產生起始 i18n
vga=791 改為 normal 這是為了避免某些顯示卡在 buffer mode 有問題
BOOT_IMAGE=knoppix 若改為 knoppix 2 開機後會進入 text mode

開機軟碟的製作法是
dd if=/cdrom/KNOPPIX/boot-en.img of=/dev/fd0

修改軟碟
/KNOPPIX/boot-en.img
syslinux.cfg

DEFAULT vmlinuz
APPEND lang=tw ramdisk_size=100000 init=/etc/init noapic apm=power-off \
hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi \
vga=normal initrd=minisys.gz quiet BOOT_IMAGE=knoppix desktop=icewm
TIMEOUT 220

為了讓啟動參數接受 root 這個字, 把原來為 initrd=miniroot.gz 的改名
為 minisys.gz, 並且改 /etc/init.d/knoppix-autoconfig 對啟動參數的
偵測.

原 lang=us 改為 tw 以便產生起始 i18n
vga=791 改為 normal 這是為了避免某些顯示卡在 buffer mode 有問題
BOOT_IMAGE=knoppix 若改為 knoppix 2 開機後會進入 text mode

BIOS 記得設成 floppy 開機.


上面說過的系統修改過程, 包括要改 KNOPPIX 開機自動設定檔
/etc/init.d/knoppix-autoconfig



若為新的德國原版, 要做一點修正
tw)
# Taiwan version
COUNTRY="tw"
LANG="zh_TW.Big5"
LANGUAGE="zh_TW.Big5" (要加這一行)
KEYTABLE="us"
XKEYBOARD="us"
KDEKEYBOARD="us"
CHARSET="iso8859-1" (原 big5-0 改成 iso8859-1)
XMODIFIERS="@im=xcin"
;;

# Set clock (Local time is more often used than GMT)
#hwclock -s
hwclock -s --localtime (要加上 --localtime 否則某些和時間計算有
關的程式(如 xplns)會把系統時間當成 UTC )

另外以下這個我也把它改掉

# Write KNOPPIX config files for other scripts to parse
# Standard variables/files
echo "LANG=\"$LANG\"" > /etc/sysconfig/i18n
echo "COUNTRY=\"$COUNTRY\"" >> /etc/sysconfig/i18n
#echo "LANG=\"$LANG\"" >> /etc/sysconfig/i18n
(不瞭解為何要用兩個 LANG ? 把它 mark 掉似乎也沒有不良影響)
echo "LANGUAGE=\"$LANGUAGE\"" >> /etc/sysconfig/i18n
echo "CHARSET=\"$CHARSET\"" >> /etc/sysconfig/i18n
echo "XMODIFIERS=\"$XMODIFIERS\"" >> /etc/sysconfig/i18n




之後也可以在這個程式裡另外加上一些你想要的東東, 像加上偵
測老鼠是否為 PS/2, 若是, 再問是否是滾輪鼠, 因為 default
並沒有支援 wheel mouse, 既始跑 mouseconfig 設也沒用!
(USB 滾輪鼠沒問題)

所以我在開機過程加上這一項, 可以為 XF86Config-4 加上滾輪鼠
的參數
Option "Protocol" "IMPS\2"
Option "ZAxisMapping" "4 5"
滾輪才有效.

以及詢問是不是用 LCD 螢幕, 我是改成水平(35.0-58.0)、垂直頻率
(55.0-75.0), 並且 mark 掉 XF86Config-4 那些 ModeLine, 這樣可
以讓多數 LCD 會有較好的顯示。

測試水平、垂直頻率可以先不跑 startx, 只跑 X 看看螢幕
網格是不是均勻、穩定,若是, 那頻率就是設對了。

( 如果你的螢幕是大於 1024x768 的, 請於光碟開機後自行跑 xf86cfg 或
xf86cfg -textmode -xf86config /etc/X11/XF86Config-4
重新設定 XF86Config-4
)

如果是抓原版的 KNOPPIX, 要自己加上 xcin 及文鼎字型, 也要把
字型的 path 加到 XF86Config-4.in 裡, 這樣光碟開機後自動產生的
XF86Config-4 就會有含入文鼎字型 path.

( 建議把 xcinrc, /usr/lib/xcin/tab/ 之下的 big5(及 gb2312)搬
到 /mnt/hdb7/KNOPPIX-boot/ 另開目錄存放(如/cdrom/MyPack) 再
symbolic link 過來 /mnt/hdb7/KNOPPIX-sys/ 底下應該放的位置
這樣之後如果要改輸入法設定, 或增加輸入法(嘸蝦咪/大易)
只要重做 ISO 檔, 不必重做 /mnt/hdb7/KNOPPIX-sys/ 這個重大工程.
包括一些 rc 檔, 如 icewm 下的 toolbar, menu, preferences 或
一些將來可能比較會改變的, 都不要寫死在 /mnt/hdb7/KNOPPIX-sys/
而用 link 到 /cdrom/MyPack (自己取的名字)
)

另外, 並不是所有的東東都有 debian package 可以裝, 要自行 compile
, 所以建議還是執行 /usr/local/bin/knx-hdinstall 把 KNOPPIX 安裝
到硬碟上(至少準備 3G 以上比較好操作吧!)
knx-hdinstall 可以將 KNOPPIX 安裝到硬碟上

安裝到硬碟後的 KNOPPIX 首先遇到的問題是 /root(光碟執行沒有) 與
/home/root 簡單的方法是 rm -fr /home/root ; ln -s /root /home/root

裝在硬碟的好處是, 它和光碟執行版有 99% 的相同, 所以在硬碟上試成功
的, 幾乎可以確定裝到光碟後一定可以用。
它可以用來做前試驗, 例如要裝 debian package 時某些狀況是有 dependence
的問題, 就可以一一找齊, 再安裝、試用. 或者直接把別的 distribution 裡
的 binary 直接 tar 過來用.
例如改用 RedHat 7.3 裡的 rxvt-2.7.8 可直接用 binary, 而 telnet 也怪
怪的, 改用 RedHat 7.3 裡的 telnet
或者 KNOPPIX 並不完全支援你的硬體時, 可以試著把驅動程式裝上來試.

等一切都 OK 後, 再用前述的 chroot 過去 dpkg -i ...... 或者將自己
compile 出來的東東直接 copy 過去.

再來, KNOPPIX 光碟開機後會找一個 /cdrom/KNOPPIX/knoppix.sh 的檔
你可以把開機就要做的動作寫在這個 script 裡, 它就會進行各個動作.
例如後來我把 Option "DPMS" 加到 /etc/X11/XF86Config-4 的
Section "Monitor" 裡, 因為不想再改系統主檔 /cdrom/KNOPPIX/KNOPPIX
就直接寫在 /cdrom/KNOPPIX/knoppix.sh
這個 Option 是讓俱有 Energy Star 的 monitor 可以自動 power off

最後
mount /mnt/hdb8 準備放燒光碟用的 ISO 檔
cd /mnt/hdb7/KNOPPIX-boot/
mkisofs -l -r -J -V "KNOPPIX-aabbcc" -hide-rr-moved -v \
-b KNOPPIX/boot-en.img -c KNOPPIX/boot.cat \
-o /mnt/hdb8/KNOPPIX-aabbcc.iso .
(請注意!上面一行最後這邊有個句點, 就是要把當下的目錄做成 ISO)

這個很快, 大概兩分鐘(?) 之後就可以用
cdrecord -scanbus 看一下燒錄機在哪一個 device 再
cdrecord -v -eject -speed=10 dev=0,1,0 /mnt/hdb8/KNOPPIX-aabbcc.iso
把它燒出來(上述是 IDE CDRW 接在 /dev/hdd 用十倍速燒 )

以上幾串指令已寫成 script, 放在 /cdrom/MyPack, 可以參考
mkcloop
mkISOboot


Linux Live CD簡介

Knoppix 常見問題解答

1、顯示問題
Q:使用光盤啟動後,屏幕顯示「Loading vmlinuz」和「Loading miniroot.gz」後顯示器沒有信號。
A:這可能是您的系統不支持VESA FrameBuffer 1024x768 模式,請您嘗試在「Boot:」提示畫面輸入以下命令:
knoppix vga=788 (選擇800x600 FrameBuffer模式)

knoppix vga=normal (引導 80x25 文字模式)

Q:某些舊款的顯示器在進入KDE後會花屏或無法顯示,如何解決
A:這很可能是由於顯示器不支持1024×768的分辨率所引起的。如遇到這種情況,請通過以下步驟調整:
重啟Linux系統,進入啟動畫面後,按下F2進入CHEAT CODES菜單,然後根據需要手動設置啟動選項。在「Boot:」提示符後鍵入「knoppix screen=800x600」後回車,使KDE以800x600的分辨率顯示。
另外也可能是您的顯示器無法支持默認的刷新率,可嘗試使用「knoppix xvrefresh=60」把vertical refresh(垂直刷新率)定為60Hz。您還可以嘗試把命令選項聯合起來使用:
knoppix xscreen=800x600 xvrefresh=60

knoppix xscreen=800x600 xvrefresh=60 maxhsync=54 vga=normal
此外,也有可能是X桌面的驅動不支持您的顯卡,那請您嘗試使用通用的FrameBuffer驅動,在「Boot:」提示符後使用以下啟動選項:
fb1024x768

fb800x600
請注意,使用上面兩個啟動選項,您將不能與其他選項聯合使用,特別是「vga=」!例如,「fb1024x768 vga=normal」這是錯誤的寫法。但您可以把「fb」選項與其他非顯示選項一起使用,例如「fb1024x768 home=/dev/sda1」是正確的,但「fb」必須放在最前面。
如果在KDE桌面啟動了但無法顯示,而您又不希望強行關機,我們可以用Ctrl+Alt+BackSpace殺死X的進程,系統將回到純字符界面並自動關機。您也可以使用Ctrl+Alt再配合F1到F4打開各虛擬終端(tty),在純字符狀態下進行操作。

Q:光盤啟動時出現Error : no suitable X-Server found for your card或黑屏?
A:此問題發生機會極少,這是由於少數主板或顯卡不能被系統識別該使用哪種對應的X-Server進行圖像顯示,解決辦法是手動設置啟動參數xmodule。例如,一些Nvidia的板沒有被正常檢測出來,出現錯誤報告或黑屏:
「retrying with Server Xfree86(vesa) 」
「retrying with Server Xfree86(fbdev) 」
「Error : no suitable X-Server found for your card.」
解決方式是在「Boot:」提示畫面輸入以下命令:knoppix xmodule=nv
如果是主板帶顯卡,例如810主板,可嘗試knoppix xmodule=i810
如果以上方法都無效,則需手動設置XFree86,步驟如下:
a)在boot:提示下鍵入knoppix 2
b)進入命令行後運行以下命令:
#rm -f /etc/X11/XF86Config-4
#mkxf86config
#startx (或init 5)

Q:某些LCD顯示器在進入KDE後會無法顯示並出現「out of range」,如何解決?
A:已知這種情況會發生在ViewSonic的15吋和17吋(型號VP171b)液晶顯示器上,如果使用800x600分辨率也無法顯示圖像,並且屏幕 顯示「out of range」,這是系統預設的刷新率高於顯示器所能承受的輸出範圍,這時需要根據顯示器的參數進行調整。
例如:顯示器的頻率允許範圍是水平30-82KHz垂直50-85Hz,就可以在「Boot:」提示符後使用「knoppix xvrefresh=60」把vertical refresh(垂直刷新率)定為60Hz。(如果是新版本的KNOPPIX,請使用「knoppix vsync=60」或「fb800x600 root ttf2ram lcd vsync=60」。
對於15吋的ViewSonic液晶顯示器,也可以手動把XF86Config裡面的水平掃瞄頻率設置為30-35.5,就可以在1024x768正常使用。

Q:以上所有辦法都無效,屏幕都無顯示,是否當機了?
A:這很可能與您使用的外部設備或您的主板有關,可能與MaxCapture Linux的默認設置衝突了,您可以使用以下命令:
knoppix failsafe
這個命令相當於下面的啟動選項,把多個設備都禁用了:
knoppix vga=normal noapic noscsi nodma noapm nousb nopcmcia nofirewire noagp nodhcp xmodule=vesa
您可以嘗試逐步一個一個地減少選項,最終您會發現適合您的啟動選項。

Q:進入KDE桌面後如何調整屏幕的分辨率和刷新率?
A:打開「控制中心」—>「外設」—>「顯示器」(此時需輸入root的密碼,用戶也可以不運行控制中心,而直接在root shell中運行kxconfig命令,也能獲得同樣效果)—> 「XFree86配置」—>「屏幕」—>設置分辨率和垂直刷新率。

2、其他啟動問題
Q:為什麼碟再進入系統後,提「only one processor found」?
A:此信息可不用理會,MaxCapture Linux支持多路處理器,有時候會認為您的機器支持多路處理器(特別是AMD的處理器),當發現機器內只有一顆CPU時,就會顯示此信息,但不會有任何影響。

Q:啟動光盤後進入一個「limited shell」,並且顯示「Can't find Knoppix filesystem」?
A:此錯誤是由於無法找到光盤上的影像文件,很大可能是由於您使用的並非標準的IDE或SCSI接口的CDROM或DVDROM引起的。例如一些使用PCMCIA卡的CDROM的筆記本電腦,需要使用以下啟動選項:
knoppix ide2=0x180 nopcmcia

Q:光盤剛啟動時出現:kernel panic:VFS:unable to mount root fs on 01:01
A:此問題發生機會極少,少數集成顯卡的主板會受此影響,解決辦法是在「Boot:」提示畫面輸入以下命令:knoppix mem=?M (「?」的數值為「總內存數」減去「顯卡內存數」。)

Q:如何使用帶滾輪的兩鍵鼠標?
A:在「Boot:」提示符後鍵入「knoppix wheelmouse」。如果需要和其他參數一起使用,把參數以空格分隔即可,例如:「knoppix screen=800x600 wheelmouse」。

Q:如果電腦不能從光盤啟動,有什麼辦法使用MaxCapture Linux Live CD?
A:如果是由於硬件問題導致光驅不能正常使用來啟動機器,我們可以通過製作Linux啟動軟盤解決:
a)在WINDOWS下打開MaxCapture Linux的CD目錄,進入KNOPPIX目錄;
b)運行mkfloppy.bat文件,按提示插入軟盤並回車;
很快你將得到一張能引導系統的Linux軟盤,此時您可以重啟動PC並把BIOS設置為軟盤啟動,同時放入軟盤和MaxCapture Linux Live CD,軟盤將會代替CD的引導區進行Live CD的啟動。

Q:啟動後鼠標不能使用,該如何解決?
A:您的情況極少發生,請用以下方式進行鼠標的手動設置:
a)在「Boot:」提示畫面輸入以下命令進入純命令行界面:
knoppix 2
b)RunLevel 2運行起來後,輸入以下命令進入鼠標設置畫面:
mouseconfig
c)設置好鼠標後,運行init 5回到KDE。

3、文件名顯示問題
Q:MaxCapture Linux掛載簡體中文版WindowsXP的硬盤,部分中文文件名能正常顯示,而有些卻顯示亂碼,如何解決這一問題?
A:MaxCapture Linux的設計上已自動支持所有gb2312編碼格式的簡體中文和NTFS上的utf8編碼格式,WindowsXP使用utf8編碼格式,但如果 WindowsXP的硬盤分區格式為Fat32,就有可能使部分中文文件名在MaxCapture Linux下顯示亂碼了。
解決辦法是重新用命令行加載目標硬盤分區。例如我們要加載WindowsXP的D盤,在Root shell下運行以下命令即可:
#umount /mnt/hda5
#mount -t auto -rw /dev/hda5 /mnt/hda5 -o iocharset=utf8,users,exec,umask=000,uid=knoppix,gid=knoppix
若使用命令後分區中的中文文件名仍然為亂碼,則說明編碼選擇錯誤,應該重新設置參數:
#umount /mnt/hda5
#mount –t auto -rw /dev/hda5 /mnt/hda5 -o iocharset=gb2312,users,exec,umask=000,uid=knoppix,gid=knoppix

Q:無法瀏覽光盤上的中文文件名?
A:MaxCapture Linux已經修正了硬盤、USB設備和軟盤內中文文件名顯示的問題。但對於光盤上的中文文件,必須手動掛載才能正確顯示:
簡體中文的光盤:
#mount -t auto /dev/cdrom /mnt/cdrom -o iocharset=gb2312,codepage=936
繁體中文的光盤:
#mount -t auto /dev/cdrom /mnt/cdrom -o iocharset=big5,codepage=950

4、其他硬件相關問題
Q:舊式的NE2000網卡不能被MaxCapture Linux識別?
A:使用舊式的 NE2000 ISA 卡請在Root shell中輸入modprobe ne io=0x320
(因為多數 NE2000 內定 I/O 為 320,或用你卡上實際參數),之後可以輸入netcardconfig來設定IP.

Q:能否在使用磁盤陣列的設備環境上使用?
A:有損壞磁盤陣列信息的可能性,不建議在這種設備環境下使用。

Q:如何使用阿爾卡特的USB ADSLModem?
A:阿爾卡特的speed touch 330在MaxCapture Linux Live CD 2004中未被支持。但我們將在下一版的產品中加入對內置式和USB式的ADSL Modem的PPPOA方式的支持。如果用戶重新定製一張Live CD,並把驅動加進去,可以在定製狀態下通過以下方式自行嘗試安裝:
a)訪問http://packages.debian.org/unstable/net/speedtouch
b)點擊「Download speedtouch」下的「i386」按鈕,在下載頁面下載Debian軟件包,名字是「speedtouch_1.3-1_i386.deb」
c)在root shell下運行dpkg -i speedtouch_1.3-1_i386.deb
d)在root shell下運行/usr/sbin/pppoa3
詳細關於Live CD的定製方法,可見我們定製指南:
http://maxidea.org/project/knoppix/doc/knoppix_custom_guide.html

Q:使用XMMS播放MP3時提示「無法開啟音頻」?
A:打開xmms,然後按ctrl+p進入設置畫面,在「輸出插件(output plugin)」裡選擇「esound輸出插件 1.2.7 [libesdout.so]」或「開放音效系統驅動程式 1.2.7 [libOSS.so]」。

Q:如何把MaxCapture Linux Live CD 2004安裝到硬盤?
A:您必須有個3GB的空的硬盤分區,在安裝好後您的系統會以Windows+Linux雙啟動。運行方式:在root shell下運行knx-hdinstall 命令(但是由於該程式還處於開發階段,用戶誤操作將會損壞硬盤,必須十分小心使用,而且最好對Linux的分區有一定的瞭解!所以下一版的 MaxCapture會改用新程式叫knoppix-installer。)

knx-hdinstall 可以參考此文:http://163.26.135.4/knoppix_paper/page3/main.htm

MaxCapture Linux Live CD還有很多功能等待您親自去體會,希望本文能給您一點幫助,也祝願更多的人能真正瞭解Linux和喜歡上它。

MaxCapture Linux網址:www.MaxCapture.com