KNOPPIX 5.3.1(5.1.1) CD で Windows XP のファイル救出

2021.4.1 移転しました...
  • このページの旧URLは
    • http://www10.plala.or.jp/palm84/knoppix511cd.html

はてなブックマーク

2008.5.5 KNOPPIX 5.0.1 CD で Windows XP のファイル救出 - Palm84 某所の日記をちょっと改訂
2008.5.15 テキストモードでのSamba サーバの設定 訂正
2008.5.17 色々追記したらぐだぐだに...orz
最終更新日 2010.8.30

※ KNOPPIX バージョン 5.3.1 (5.1.1) での確認です。6.x 以降ではかなり違うので参考にならないかもしれません。

最近の新しいPCでは...

KNOPPIX5.3.1CDのリリースは2008年3月です。それ以降に発売された新しい規格には対応していないかもしれませぬ。起動できないとか、起動はしてもHDを認識できないこともあります。

これが使えない場合は下記のCD(DVD)をオススメしときます。

KNOPPIX5.3.1(5.1.1) に比べツール類は少ないですが、自動マウントなどの機能はあるので単純なファイルコピーには十分使えると思います。

Linuxユーザーには言わずもがにゃーなことばかりです。

救出先として新品の、または日本語名ファイルが保存されていないUSBメモリやUSB HDなどを使う場合

日本語ファイル名を適切に表示するオプションが設定されないことがあります。Knoppix上では正常でもWindowsで文字化けしてしまうことがあります。

なので...以下を推奨しときます(日本語名ファイルを救出コピーしないなら不要ですが)

  1. Windows上で日本語名のファイルを保存しておく
  2. 上記の既存ファイルがKnoppix起動後に正常表示されているか確認
  3. 確認できたら救出コピーを開始する

手動マウントでもいいのですけど...。日本語名ファイルが全く0だと英語モードでマウントされることがあるってことで。

日本語のファイル名が全然見えないよー(泣)

ダウンロードしたisoが違うんじゃない?

日本語サイトのリンクからダウンロードできるものでも、isoのファイル名に xen が入ってるやつとかはデフォルトが英語設定となってるので日本語名ファイルが全く見えなかったりします。

NTFSのアクセス権のこと

LinuxなのでNTFSのアクセス権などは無視されます。一部(※ Thumbs.db とか)を除きすべてコピー可能です。更新日時が現在日時になったりしますが、別のWindowsにUSBなどで接続した場合はアクセス権で苦労するので救出は楽かも。

暗号化してる場合は...

ファイル・フォルダを暗号化してる場合は全くだめ。TPMチップなどハードウェアで暗号化してる場合はどうなるのかな?多分だめかと。

これって何?

CDブートするには?

BIOSの設定でCDドライブを最優先にするか、電源オン時に何かのキー(EscF8 - F12 あたりかな?)を押して選択。

とりあえず書いとこー。Windows XP がどうしても起動しない場合のファイル救出手段としての使い方です(※もちろんCDブートが可能でなければだめですけど)。この KNOPPIX CD でブートした場合の利点は下記の通りかな?

メモリ(RAM)は256MB以上あればなんとか作業用には使えるかと。128MB以下の場合はテキストモードでないと無理かな。(fluxboxtwm を指定して Konsole で操作するという手もあるけど)

ファイル救出について

Linux LiveCDでは、NTFSアクセス権は無視されますので、基本的にすべてのファイルのコピーが可能です。

但し、ゾーン情報(インターネットからダウンロードしたファイルの属性情報など)などはエラーとなる、更新日時がコピー時になったり なることがあったりThumbs.db がコピーできなかったりしますがそれほど問題ないかと

HDを取り外して Windows マシンに繋ぐ場合はNTFSアクセス権がちとややこしいので、単純にファイルコピーするだけなら Linux の方が簡単かもしれませぬ。

コピーしたファイルの【更新日時】について

【作成日時】はコピー時となります。環境によって違うかもなので参考程度に。

USBメモリ
USBメモリディレクトリファイル
Konqueror
cp -rコピー時コピー時
cp -Rコピー時コピー時
cp -a
cp -aR
ネットワーク (Windows)
ネットワークディレクトリファイル
Konquerorコピー時コピー時
Konqueror(手動マウント)
cp -rコピー時コピー時
cp -Rコピー時コピー時
cp -aコピー時
cp -aRコピー時
関連リンク

USBメモリ、ネットワークブートとか。

CDドライブが不調、あるいはCDメディアの不良など

読み取りエラーなどが発生して、作業中にフリーズしたりするので危険かもしれません。メディアの不良なら信頼できるCD-Rメディアで焼き直したり、雑誌の付録CDなどを使うという手も。ドライブの不調の場合は、USBデバイスやネットワークブートにトライしてみるべきかも。

ってか、こういう作業に慣れてる方に依頼するのが安心です。経験者にはどうってことないレベルなので...

CDの作成

5.3.1CD のダウンロード

5.3.1CDのダウンロードは下記ページより。5.1.1 と使い方はあまり変わらないと思います。

  • MD5:
e6dd36e1790ab698be7473dd126e81e2

または、LCATなしのRemastaer版(私はこっち使うとります)

  • MD5:
1b8de822b8296471383feeaac1a64056

※【ご注意】通常版以外はデフォルト設定が英語だったりするので間違えないようにしませう。

ISOイメージファイルの焼き方

※ 700MB CD-R(RW)に焼くこと。普通にファイルを焼く場合とは少し手順が違うことに注意。ドライブ不調の際など、CD-RW ではなく CD-R の方が確実。

※ Windows 7 では標準でiso書き込みに対応してます。

ライティングソフトがインストールされている場合、isoファイルをWクリックとかでisoイメージ書き込み用ソフトが起動することもあるかと。

BurnCDCCとかでも簡単かも。

旧版など

Ring サーバには最新版しか置かれなくなりました。5.3.1 を含む旧バージョンは理研サーバにしかないようです。

  • 5.3.1CD
knoppix_v5.3.1CD_20080326-20080520-AC.iso
  • 5.1.1CD
knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.iso
  • 5.0.1CD
knoppix_v5.0.1CD_20060601-20060614+IPAFont_AC20060623.iso

ブート時にUTF-8(ユニコード)オプション指定

【追記】KNOPPIX 5.3.1CD

KNOPPIX 5.3.1CDではデフォルトがUTF-8となってるので起動時に入力する必要はありません

5.1.1(5.0.1)CDの場合です

thanks to hanazukin さん

ファイル名に機種依存文字(丸付き数字。正確にはユニコード文字かな?)を使用したファイル/フォルダを作成して確認してみました。オプションを指定しない場合(デフォルトの日本語ロケールは EUC-JP)はこれらのファイル/フォルダを全く表示できませんでした(NTFSな場合)。UTF-8 を指定するとファイルマネージャ(Konqueror)での表示、USBメモリなどへのコピーも可能となりました。

起動時の画面で boot: に続けて下記のLABELとパラメータ入力

ブートプロンプト画像

knoppix lang=ja.utf8

【ご注意】この時、キーボードがUS配列。= は 一つ右の です。

他の機種依存文字では確認してないので確実にすべてOKなのかどうかは?ですけど...。Root Shell から cp -r(※サブディレクトリも含め再帰的にコピー) で親ディレクトリをコピーするのが確実かもしれません。

※にょろ(〜 全角チルダ)や半角カタカナを含むファイル名、「年表.xls」などは問題ありませんでした。

尚、Knoppix 日本語版(LCR版)5.1.1(ライブCDの部屋さん版)では、UTF-8がデフォルト (lang=ja-utf8)、ブート時のキーボード配列もjp106仕様となってます。

起動LABELと追加パラメータについて

ブートローダ ISOLINUX の設定ファイル isolinux.cfg はCD内の /boot/isolinux/isolinux.cfg にあります。うまくブートできない時は参照してみるといいかも。

起動時のプロンプト(入力画面)で何も入力せずにEnterした場合は DEFAULT の設定で起動(カーネルとミニルートイメージをロード)する。

DEFAULT linux
APPEND ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 initrd=minirt.gz nomce loglevel=0 quiet BOOT_IMAGE=knoppix

knoppix lang=ja.utf8 などと入力した場合、【LABEL knoppix】の設定に引数(パラメータ)【lang=ja.utf8】が追加されて起動します。

LABEL knoppix
KERNEL linux
APPEND ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 initrd=minirt.gz nomce loglevel=0 quiet BOOT_IMAGE=knoppix
その他の設定LABEL

起動時のプロンプト画面でF2キーを押すと表示されます。

  • failsafe - かなり機能を無効化した状態
  • vaio - VAIO用の特殊な設定かな?(※5.3.1はなし)
  • dynabook - dynabook用の特殊な設定かな?(※5.3.1はなし)
  • dos - FreeDOS(Balder)
  • memtest - Memtest
追加パラメータ

起動時のプロンプト画面でF3キーを押すと表示されます。

特定の機能を無効にしないと起動できない時があります。

  • acpi=off, noacpi など - 電源管理関係を無効に
  • nousb, nopcmcia など - USB,PCMCIA(など)を無効
  • xmodule=vesa - X(GUI)でグラフィックドライバにvesa(汎用的なの)を使用
  • desktop=fluxbox - ウィンドウマネージャを fluxbox に変更

詳しくは /KNOPPIX/knoppix-cheatcodes.txt を参照。

  • うまく起動できない際に試してみる一例
boot: knoppix acpi=off noacpi lang=ja.utf8 vga=normal xmodule=vesa nopcmcia

Knoppix豆知識

Knoppixでは、管理者ユーザ (root)・一般ユーザ (knoppix) ともパスワードは設定されていません。

コマンドの $ とか # って何?

$ が一般ユーザでの操作。# はrootでの操作。

コンソール (Konsole)画面での例

コンソール (Konsole)画面1

rootでコマンドを実行するには

root権限での操作方法は主に二通り。

  • 一般ユーザのまま、コマンドの先頭に sudo を付ける

コンソール (Konsole)画面3

  • または、suコマンドで一時的に root 権限を得る

コンソール (Konsole)画面2

一般ユーザに戻るには、exit または Ctrl-D

ハードディスクとUSBメモリのマウント

Konqueror と Konsole
  • ホームアイコン Konqueror - ファイルマネージャ
  • Konsoleアイコン コンソール (Konsole) - コマンド窓(端末エミュレータ)

ハードディスクのアイコン USBメモリのアイコン

記憶デバイスは自動認識されれば、デスクトップにアイコンが浮かんでますので、そのアイコンをクリックすればマウントされます。同時に Konqueror(Windowsのエクスプローラみたいなの) が起動しますので内容を確認しておきます。

USBメモリなどはKNOPPIX起動後に接続した方がいいかも?

※USBメモリなどはKNOPPIX起動後に接続した方がいいかと。書き込み可能で自動マウントされるはず。

接続後に自動認識された場合はこんな画面 USBメモリ検出画面 が出るので、【新しいウィンドウで開く】を選択すると書き込み可能状態でKonquerorが開きました。

※自動認識されない場合は、コマンド $ sudo rebuildfstab と打ってみるとか。

※mountコマンドを実行した場合はrootでなくても書き込み可能でマウントされるはずです。

デバイス(ファイル)名とか

Windowsとはかなり違うんですねぇ。/dev/なんとか で認識されます。利用するにはマウントポイント(/media/hda1, /mnt/hda1 とか)にマウントする必要があるわけなのでした。

Knoppixではアイコンクリックで自動でやってくれます。

  • ハードディスク・USBメモリなどパーティションを切ってある場合は末尾に数字が付く(論理領域は 5 以降となる)
  • hda - (※IDE接続の)1台目のハードディスクドライブ。通常プライマリマスタ。
    • ※IDE接続のDVD/CDドライブなどは、hdc, hdd など
  • hda1 - (※IDE接続の)1台目のハードディスクドライブの1番目のパーティション
  • sda (sdb...) - SCSI、Serial ATA、USB接続のドライブなど
  • sr0 (または、scd0 など)- USB-CDドライブなど

※ 通常 Windows上のCドライブは hda1(sda1,sdb1)となる場合が多いと思われますが、メーカー製パソコンなどはリカバリー用隠しパーティションがあったりするのでhda2(sda2,sdb2)とかになることもあるかと。とりあえず内容も確認しましょう。USBフロッピーなどを同時接続している場合はUSBメモリが sdbsdc になったりします。

※ 1台目の内蔵HDが /dev/hda となるのは、IDE (パラレルATA) 接続のHDの場合です。最近のHDはシリアルATA接続なので /dev/sda となります。

メーカー製パソコンの例

  • VAIOの一例 - 内蔵HDが IDE(P-ATA接続) の場合
    • hda1 - リカバリー領域(NTFS)
    • hda2 - Windows上のCドライブ(NTFS)
    • hda5 - Windows上のDドライブ(NTFS)
  • DELLの一例 - 内蔵HDが IDE(P-ATA接続) の場合
    • hda1 - リカバリープログラム(FAT)
    • hda2 - Windows上 の Cドライブ(NTFS)
    • hda3 - リカバリーイメージ(FAT32)
    • (ないかも?)hda5 - Windows上のDドライブ(NTFS)
書き込み可能でマウント

このままですと、読み取り専用マウントとなってるので、書き込みが必要な場合はUSBメモリ(など)を設定変更します。

コンテキストメニュー

確認画面

※「to be read-only?」と出る場合は既に書き込み可能になってます。

  1. sda」(など)のアイコンを右クリック
  2. Change read/write mode」をクリック
  3. to be writable?」を確認してYesをクリック

これでUSBメモリへのファイルのコピーが可能になります(KNOPPIX起動後に接続した場合は既に書き込み可能になってるかも)。

USBメモリがない場合はデジカメ用などのフラッシュメモリ使ってもいいかも。USB接続カードリーダ(またはカードリーダ付プリンタ等)はおそらく sdx で認識されると思います。(容量を考えると一番いいのはUSB接続ハードディスクですけどね...)

デジカメ(リムーバブルデバイスとして使えるもの)とかをUSBで直接繋ぐって手もありますね。これも sdnで認識されるはずです。(※容量が小さいとアレですが...)

SDメモリ/メモリースティック用PCカード型アダプタ

SDメモリ/メモリースティック用PCカード型アダプタは hde1(マウントポイントは /mnt/hde1)で認識されました。

ネットワークドライブ / LAN接続ハードディスク

LAN接続ハードディスクなどへコピーする場合は、Konquerorのメニューの「移動」(「進む」)から「ネットワークフォルダ」「Samba共有」

アイコンクリックでマウントできない

Windowsが正常にシャットダウンされなかった場合、「ダーティ・フラグ」が付くようです。Linuxでマウントしようとすると ERROR: Volume is dirty などと警告が出てマウントできないことがあります。回復コンソールからchkdskで治るかもしれませんが、余計におかしくなったり、トドメさしちゃう可能性もあるので判断難しいけど、安全のために読み取り専用でマウント試すべきかなぁと。(一概に言えませんけど。)

「カシャーン」とか音がしてマウントできないとか。Windowsがエラーで起動できない時などはマウントできないかもしれません。以下のコマンドを試して見てください。

※デスクトップのアイコンが【Hard Disk [hda1]の場合】

$ cat /etc/fstab      ---------【/dev/hda1】の列があるか確認
$ sudo umount /dev/hda1 ------- 念の為にアンマウント
$ sudo mount -o ro /dev/hda1 -- 読み取り専用でマウント試す

fstab に記述がないとかだとHDに異常あるかも?また、デスクトップにアイコンが無い場合は認識されてないかも?再起動して再度試すか、別のLiveCDを使うか? force を付けて強制マウントするか?この手の情報に精通してる人に相談した方がいいかもしれません。壊れかけの場合は下手にいじるとトドメを挿しちゃう場合があるので(まぁ一概にいえませんけど)。

マウントのオプション確認

ハードディスク及びUSBメモリでは問題ないようですが、メモリカード用PCカードアダプタではKNOPPIX上で保存した日本語名ファイルが Windows 上では文字化けしたりしました。コードページ・文字セットオプションが指定されていないことが原因のようです。

  • mount コマンドで確認
$ mount
<省略>
/dev/hda1 on /media/hda1 type fuse (ro,nosuid,nodev,default_permissions,allow_other,user=knoppix)
/dev/hda2 on /media/hda2 type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)
/dev/hde1 on /mnt/hde1 type vfat (rw,nosuid,nodev)
/dev/sda on /media/sda type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)

(※type vfatのうち)/dev/hde1のオプションが指定されていないのでマウントし直します。

$ sudo umount /dev/hde1
$ sudo mount -t vfat -o rw,uid=1000,gid=1000,iocharset=utf8,codepage=932,shortname=winnt /dev/hde1 /mnt/hde1

※FAT(16/32)パーティションのファイル名のアルファベット大文字をそのままコピーするには、オプションshortname=winntが必要でした。

  • mount コマンドで確認
$ mount
<省略>
/dev/hda1 on /media/hda1 type fuse (ro,nosuid,nodev,default_permissions,allow_other,user=knoppix)
/dev/hda2 on /media/hda2 type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)
/dev/sda on /media/sda type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)
/dev/hde1 on /mnt/hde1 type vfat (rw,uid=1000,gid=1000,iocharset=utf8,codepage=932,shortname=winnt)

※オプションの rw は書き込み可能。ro は読み取り専用となります。

バックアップ対象はどこ?

主なとこだけですが...面倒なら Documents and Settings を丸ごとコピーするってのもありかなぁ?容量が足りればですけど。

ウイルス感染時などは...

バックアップファイルを書き戻す際には注意すること。不正な設定ファイルなどを書き戻さないように。リカバリー直後などセキュリティホールのある状態では、画像ファイルなど開いただけでウイルス感染してしまうこともありうるので、Windows Update や Office Update、ウイルス対策ソフトの導入及びプラグインなども最新版にアップデート後に処置すべきです。

【スタートアップ】フォルダに不正な reg, bat, exeファイルなんかが置かれてる場合があります。必要最小限、再設定・再入手不可能なもののみを、複数の手段(オンラインスキャンなどを併用)でウイルススキャンを掛けて、細心の注意を持って戻すようにしませう。

とは言え、どこまでやったら安全なのかは一概に言えないんで不安なら「泣いて馬謖を斬る」べし(ちょっと意味違w)

※まぁ、信頼できる詳しい方に相談してみるのがいいかと。(ビールとか「飲みねぇ飲みねぇ」しつつとかw)

Windows XPの【マイ ドキュメント】フォルダ
  • マウント先の Documents and Settings/ユーザ名/My Documents
【デスクトップ】
  • Documents and Settings/ユーザ名/デスクトップ
お気に入り
  • Documents and Settings/ユーザ名/Favorites
Outlook Express メールデータ
  • Documents and Settings/ユーザ名/Local Settings/Application Data/Identities/{長い数字の羅列}/Microsoft/Outlook Express
アドレス帳
  • Documents and Settings/ユーザ名/Application Data/Microsoft/Address Book
Microsoft Outlook 全データ

Outlook(Outlook Express ではない)の場合は、予定表や仕事とかも一つのファイルだったりしますねぇ(Outlook.pstとか)

  • Documents and Settings/ユーザ名/Local Settings/Application Data/Microsoft/Outlook
個人用設定など

Microsoft Office, Firefox, Opera ..など丸ごと

  • Documents and Settings/ユーザ名/Application Data
IME辞書データなど
  • Documents and Settings/ユーザ名/Application Data/Microsoft/IMJPなんとか

ネットワークの設定

ルータのDHCPサーバ機能が有効ならTCP/IPの設定は自動設定されます。通常は有効になっているはずです。

よってルータ(DHCPサーバ)のある環境で、NIC(LANアダプタ)が正常に認識されれば手動設定する必要は通常ありません。

ルータがない環境での手動設定

ルータがない環境でハブ経由で別マシンへの接続、あるいはクロスケーブルで2台を直接繋ぐ場合など、手動設定方法。

別のWindowsマシンの設定

ルータがない環境で別のWindowsマシンとハブ経由、またはクロスケーブルで直接接続する場合

  1. 【ローカル エリア接続】のプロパティ インターネット プロトコル(TCP/IP)
  2. 【IPアドレス】を 192 168 0 10 (など)にする
  3. 【サブネット マスク】を 255 255 255 0 にする

※ファイアウォールなどは一時的に無効にする

※クロスケーブルより、ストレート/クロス変換セットを持っておくと結構便利です。

デバイス(ファイル)名の確認

NIC(LANアダプタ)が一つしかない場合は普通eth0ですが、IEEE1394も検出される場合があるので一応確認しておく。

$ dmesg | grep eth
eth1394: eth0: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
eth1: VIA Rhine II at 0xdffffe00, 00:40:45:**:**:**, IRQ 11.
eth1: MII PHY found at address 1, status 0x7869 advertising 05e1 Link 45e1.
eth1: link up, 100Mbps, full-duplex, lpa 0x45E1
eth1: no IPv6 routers present

この場合は、IEEE-1394 が eth0 となってるので、eth1 であることがわかります。

IPアドレスの設定
  • 【ペンギンアイコン】【Network/Internet】【ネットワークカードの設定】
  • または、コマンド netcardconfig &

上記のツール(スクリプト)でもいいのですが、直結してる場合など(※インターネットは使えない)はゲートウェイ・DNSサーバの設定は不要なので、コマンド打った方が早いかも。

$ sudo ifconfig eth1 inet 192.168.0.20
  • 確認
$ ifconfig
eth1      Link encap:Ethernet  HWaddr 00:40:45:**:**:**  
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
<あとは略>

Windows ネットワークからアクセス

別のWindowsマシンがあるなら割と簡単。

事前にマウントしておく

Windowsマシンなどからアクセスさせたいパーティション(ドライブ)を上記の方法でマウントしておく。

Samba サーバの起動
【追記】5.3.1CDでは・・・

パスワード入力画面が何度も出てくることがあるようです。2回ほど入力後にcancelすればいいみたいです?

Start Samba server メニュー

  1. KNOPPIXメニュー(ペンギンアイコン)ServicesStart Samba Server
  2. 任意のパスワードを入力
  3. 次の画面でYesで書き込み可能に(マウントの設定次第です)

sambastartダイアログ画面1

任意のパスワードを入力してOK

sambastartダイアログ画面2

もう一度入力してOK

sambastartダイアログ画面3

【マウントされたドライブ(パーティション)を共有させるか?】でYes

  • Sambaサーバの設定ファイルに [hda1] [hda2](など)が追記されているか確認
$ tail -n 20 /etc/samba/smb.conf
    comment = /media/hdc
    browseable = yes
    path = /media/hdc
    writeable = yes
    preexec = /bin/mount /media/hdc
    postexec = /bin/umount /media/hdc
[hda1]
    comment = /media/hda1
    browseable = yes
    path = /media/hda1
    writeable = yes
    preexec = /bin/mount /media/hda1
    postexec = /bin/umount /media/hda1
[hda2]
    comment = /media/hda2
    browseable = yes
    path = /media/hda2
    writeable = yes
    preexec = /bin/mount /media/hda2
    postexec = /bin/umount /media/hda2
  • Samba (NetBIOS) サーバの起動確認
$ netstat -tua | grep netbios
tcp        0      0 *:netbios-ssn           *:*                     LISTEN
udp        0      0 192.168.0.12:netbios-ns *:*
udp        0      0 *:netbios-ns            *:*
udp        0      0 192.168.0.1:netbios-dgm *:*
udp        0      0 *:netbios-dgm           *:* 
KNOPPIXのIPアドレスを確認

KNOPPIXのIPアドレスを確認。「eth0」または「eth1」。(※IEEE1394端子がある場合は「eth1」になったりします。)

$ ifconfig
<省略>
eth1      Link encap:Ethernet  HWaddr 00:40:45:**:**:**
          inet addr:192.168.0.12  Bcast:192.168.0.255  Mask:255.255.255.0
<省略>

※この例ではIPアドレスは、192.168.0.12

Windowsマシンからアクセス
  1. 「Microsoft ネットワーク用クライアント」(Workstationサービスも)を有効に
  2. ファイル名を指定して実行 - \\IPアドレス(または \\knoppix

※ユーザ名は「knoppix」パスワードは設定したもので

※読み取り専用でマウントした場合、ネットワーク上では一旦削除されるように見える場合がありますが実際には削除されません。

KNOPPIX 5.1.1, 5.3.1 CD では、起動させるとマウントされたすべてのドライブのパスがsmb.conf に自動的に追記されてたので、事前にマウントしておけばsmb.conf の編集作業は必要ないと思われます。確認は、cat /etc/samba/smb.conf で。

smb.conf を編集

5.0.1CDでは下記のいずれかの作業が必要でした。

ホームディレクトリにリンク張る
$ ln -s /media /home/knoppix
$ ln -s /mnt /home/knoppix
smb.conf に直接追記

hda1 と hda2 にアクセスさせたい場合

  1. コンソール (Konsole)を起動
  2. sudo kwrite /etc/samba/smb.conf と入力
  3. smb.conf が開くので 文末に以下を追記
[hda1]
    path = /media/hda1
[hda2]
    path = /media/hda2

保存して終了。Sambaサービスを再起動。コ

sudo /etc/init.d/samba restart

ネットワークから書き込み(削除)可能でマウント

KNOPPIX 5.1.1, 5.3.1 CD では smb.conf の編集は不要でした

LinuxのNTFS書き込み対応はまだまだ不安な面もあるので(?)あくまで自己責任にて...

KNOPPIX上で書き込み可能でマウント。smb.conf を編集して、Sambaサービスを再起動。

smb.conf を編集

$ sudo kwrite /etc/samba/smb.conf
[hda1]
    path = /media/hda1
    read only = no
    create mask = 0775
    directory mask = 0775
    writable = yes

[hda2]
    path = /media/hda2
    read only = no
    create mask = 0775
    directory mask = 0775
    writable = yes

テキストモードで起動

軽いウィンドウマネージャでの起動

メモリ128MBのマシンではデフォルトのKDE環境では無理だと思われますが、fluxboxtwm などの軽めのウィンドウマネージャを指定するという手もありかなぁと。操作はコンソール (Konsole) でのコマンドで、動作もかな〜り重い、というかスローモーですが、日本語ファイル名の表示も可能なので。

boot: knoppix desktop=fluxbox lang=ja.utf8

メモリが少ないマシン(128MBとか)や、X(GUI)が起動できない時とか。慣れてる人は案外こっちの方が簡単だったりするかも。

ブートオプション
boot: knoppix lang=ja.utf8 keyboard=jp106 2

コマンドの英語メッセージは多分文字化けするので、コマンドの先にLANG=Cを付けて実行( # export LANGUAGE=en の実行でいいかもしれない)。親ディレクトリを指定して日本語名ファイル(機種依存文字など含む)のコピーが可能です。

5.0.1ではjfbtermの実行で(全画面)コンソールで日本語ファイル名表示が可能。

※日本語名ファイルの救出が不要なら、lang=usを指定すれば英語メッセージは正常に表示可能。但し、日本語名ファイルはすべて非表示となりコピーも不可。(※lang=jaを指定した場合は機種依存文字を含む日本語名ファイルの救出が不可でした。)

※テキストモードで日本語表示/入力したい場合はslax-jaを使う方がいいかと。

マウントポイント/オプションの確認
# cat /etc/fstab

/proc      /proc       proc   defaults            0 0
/sys       /sys        sysfs  noauto              0 0
/dev/pts   /dev/pts    devpts mode=0622           0 0
/dev/fd0   /media/fd0  auto   user,noauto,exec,umask=000    0 0
/dev/cdrom /media/cdrom  auto   user,noauto,exec,ro 0 0
# Added by KNOPPIX
/dev/hda1 /media/hda1 ntfs noauto,users,exec,umask=000,uid=knoppix,gid=knoppix,nls=utf8 0 0
# Added by KNOPPIX
/dev/hda2 /media/hda2 vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix,iocharset=utf8,codepage=932 0 0
# Added by KNOPPIX
/dev/hda3 /media/hda3 auto noauto,users,exec 0 0
# Added by KNOPPIX
/dev/hda4 /media/hda4 ext3 noauto,users,exec 0 0
# Added by KNOPPIX
/dev/sda /media/sda vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix,iocharset=utf8,codepage=932 0 0
マウント実行
  • マウント実行(読み取り専用)
# mount -r /dev/hda1
# mount -r /dev/hda2
  • ※書き込み可能でマウントする場合
# mount /dev/hda1
# mount /dev/hda2
マウント状態確認
# mount

/dev/root on / type ext2 (rw)
/ramdisk on /ramdisk type tmpfs (rw,size=478704k)
/UNIONFS on /UNIONFS type unionfs (rw,dirs=/ramdisk=rw:/KNOPPIX=ro,delete=whiteout)
/dev/hdc on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/proc on /proc type proc (rw)
/proc/bus/usb on /proc/bus/usb type usbfs (rw,devmode=0666)
/dev/pts on /dev/pts type devpts (rw)
/dev/hda1 on /media/hda1 type fuse (ro,nosuid,nodev,default_permissions,allow_other)
/dev/hda2 on /media/hda2 type vfat (ro,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)

日本語名ファイルは文字化けするので、親ディレクトリをコピーする(※保存は正常)。

# cp -r "/media/hda1/Documents and Settings/palm erooyaji/My Documents" /media/sda

5.0.1 では日本語表示可能な(全画面)コンソールの起動も可能でした。

# jfbterm

パスにスペースを含む場合は、スペースの直前にバックスラッシュ \ を打つか、パス全体をダブルクォート"で囲む。(数文字入力してTABキーの補完機能を使うと楽)

注意】※Windows上の¥ は Linux 上ではバックスラッシュ\

テキストモードでのSamba サーバの設定

Windowsマシンが別にあるなら、Samba を起動させてWindows側からアクセスした方がコピー操作は簡単かも。機種依存文字を含む日本語名ファイルも表示可能でした。

HDドライブのマウント

アクセスさせるドライブ(パーティション)を上記の方法で事前にマウントしておく

Sambaサーバの設定
  • Sambaサーバの設定スクリプト実行
# sambastart

UTF-8で起動している場合は文字化けする。左が【OK】(Yes)

sambastartダイアログ画面1

任意のパスワードを入力してEnter

sambastartダイアログ画面2

もう一度入力してEnter

sambastartダイアログ画面3

【マウントされたドライブ(パーティション)を共有させるか?】カーソルキーで左に合わせてEnter

sambastartダイアログ画面4

  • Sambaサーバの設定ファイルに [hda1] [hda2](など)が追記されているか確認
# tail -n 20 /etc/samba/smb.conf
    comment = /media/hdc
    browseable = yes
    path = /media/hdc
    writeable = yes
    preexec = /bin/mount /media/hdc
    postexec = /bin/umount /media/hdc
[hda1]
    comment = /media/hda1
    browseable = yes
    path = /media/hda1
    writeable = yes
    preexec = /bin/mount /media/hda1
    postexec = /bin/umount /media/hda1
[hda2]
    comment = /media/hda2
    browseable = yes
    path = /media/hda2
    writeable = yes
    preexec = /bin/mount /media/hda2
    postexec = /bin/umount /media/hda2
  • Samba (NetBIOS) サーバの起動確認
$ netstat -tua | grep netbios
tcp        0      0 *:netbios-ssn           *:*                     LISTEN     
udp        0      0 192.168.0.12:netbios-ns *:*
udp        0      0 *:netbios-ns            *:*
udp        0      0 192.168.0.1:netbios-dgm *:*
udp        0      0 *:netbios-dgm           *:*

マウントをやり直す場合は一旦Sambaサーバを停止させること

# /etc/init.d/samba stop
IPアドレス確認してWindowsマシンからアクセス
# ifconfig -a
<省略>
eth1      Link encap:Ethernet  HWaddr 00:40:45:**:**:**
          inet addr:192.168.0.12  Bcast:192.168.0.255  Mask:255.255.255.0
<省略>

Windows マシンから (ファイル名を指定して実行)\\192.168.0.12 または、\\knoppix でアクセスする。ユーザ名は「knoppix」、パスワードは設定したもので。

設定スクリプトを使わない場合

※すみません、(全画面)コンソールモードで設定スクリプトが使えるのを知らなかったもので、前に書いてたものです。

アクセスさせるパーティション(ドライブ)の設定

ホームディレクトリにリンクを張る

# ln -s /mnt /home/knoppix
# ln -s /media /home/knoppix

またはパスを追記

  • smb.confにパスを追記
# cat <<END>> /etc/samba/smb.conf
> [hda1]
> path = /media/hda1
> [hda2]
> path = /media/hda2
> [sda]
> path = /media/sda
> END
  • 確認
# tail /etc/samba/smb.conf
<省略>
[hda1]
path = /media/hda1
[hda2]
path = /media/hda2
[sda]
path = /media/sda
パスワードの設定
# smbpasswd -a knoppix

パスワードを2回入力

Samba サーバ 起動
# /etc/init.d/samba start
IPアドレス確認
# ifconfig -a
<省略>
eth1      Link encap:Ethernet  HWaddr 00:40:45:**:**:**
          inet addr:192.168.0.12  Bcast:192.168.0.255  Mask:255.255.255.0
<省略>

Windows マシンから \\192.168.0.12 でアクセスする。ユーザ名は「knoppix」、パスワードは設定したもので。

起動できない時

isoイメージの確認

MD5の確認

CDの確認

きっちり焼けているかどうか

ブート時に boot: に続けて knoppix testcd と入力

LABEL - failsafe - で起動確認
failsafe

ブートプロンプト画像2

ブート時に boot: に続けて failsafe (or 5.1.1 には vaio, dynabook なんて設定LABELもある)と入力して起動するか確認。

boot: failsafe

LABEL failsafe では下記のパラメータが指定されている。かなり制限された環境になるが起動できるかもしれない。

vga=normal atapicd nosound noapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce nodhcp xmodule=vesa
いわゆる「シェルに落ちる〜」

小さな Linux は起動したけど、KNOPPIX 本体のルートイメージであるCD上の /KNOPPIX/KNOPPIX が見つけられない場合の現象であります。

ブートメニュー

  • 内蔵ドライブでも、新しい規格の Serial ATA ドライブなどは認識できないことがある
  • 新しい規格のPCでは内蔵ドライブよりUSBドライブの方が認識率は高いかもしれない
  • USB(メモリ)ブートが可能ならそちらを試してみるとか

USB CDドライブの場合は、Linux起動直後、または「Checkin for USB...」などのメッセージが表示されている時にUSBポートを挿し直すと認識されることがあります。

尚、新しい規格のPCでは KNOPPIX が起動できても HDドライブを認識できないこともあるのでご注意。その際は別の LiveCD を試しませう。

パラメータ追加

ブートプロンプト画像3

ブート時に boot: に続けて knoppix noapic noacpi acpi=off などとと入力して起動確認。どのパラメータ(の組み合わせ)で起動可能になるか何度も試してみる。

boot: knoppix lang=ja.utf8 acpi=off noacpi xmodule=vesa nopcmcia

これでも駄目だと、CDドライブが未対応(最新ドライブとかとか相性あるかも)、或いは不良(?)なのかもしれない。slax-jaBerry Linuxなど他の日本語版LiveCDを試した方がいいかもしれません。

memo

$ mount
/dev/root on / type ext2 (rw)
/ramdisk on /ramdisk type tmpfs (rw,size=478720k)
/UNIONFS on /UNIONFS type unionfs (rw,dirs=/ramdisk=rw:/KNOPPIX=ro,delete=whiteout)
/dev/hdc on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/proc on /proc type proc (rw)
/proc/bus/usb on /proc/bus/usb type usbfs (rw,devmode=0666)
/dev/pts on /dev/pts type devpts (rw)
$ ls -l /mnt
合計 1
lrwxrwxrwx 1 root root   11 2007-01-11 23:12 hda1 -> /media/hda1
lrwxrwxrwx 1 root root   11 2007-01-11 23:12 hda2 -> /media/hda2
lrwxrwxrwx 1 root root   11 2007-01-11 23:12 hda3 -> /media/hda3
lrwxrwxrwx 1 root root   11 2007-01-11 23:12 hda4 -> /media/hda4
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 hde1
lrwxrwxrwx 1 root root   10 2007-01-11 23:12 sda -> /media/sda
lrwxrwxrwx 1 root root   10 2007-01-11 23:12 sdb -> /media/sdb
$ ls -l /media
合計 10
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 cdrom
drwxr-xr-x 2 root root 1024 2006-02-22 08:07 fd0
drwxr-xr-x 2 root root 1024 2006-02-22 08:07 hd
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 hda1
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 hda2
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 hda3
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 hda4
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 sda
drwxr-xr-x 2 root root 1024 2007-01-11 23:12 sdb
drwxr-xr-x 2 root root 1024 2006-02-22 08:07 test
$ cat /etc/fstab
/proc      /proc       proc   defaults            0 0
/sys       /sys        sysfs  noauto              0 0
/dev/pts   /dev/pts    devpts mode=0622           0 0
/dev/fd0   /media/fd0  auto   user,noauto,exec,umask=000    0 0
/dev/cdrom /media/cdrom  auto   user,noauto,exec,ro 0 0
/dev/hde1 /mnt/hde1 auto user,exec,noauto 0 0
# Added by KNOPPIX
/dev/hda1 /media/hda1 ntfs noauto,users,exec,umask=000,uid=knoppix,gid=knoppix,nls=utf8 0 0
# Added by KNOPPIX
/dev/hda2 /media/hda2 vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix,iocharset=utf8,codepage=932 0 0
# Added by KNOPPIX
/dev/hda3 /media/hda3 auto noauto,users,exec 0 0
# Added by KNOPPIX
/dev/hda4 /media/hda4 ext3 noauto,users,exec 0 0
# Added by KNOPPIX
/dev/sda /media/sda vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix,iocharset=utf8,codepage=932 0 0
# Added by KNOPPIX
/dev/sdb /media/sdb ext2 noauto,users,exec 0 0
$ grep sdb /etc/fstab
/dev/sdb /media/sdb vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix,iocharset=utf8,codepage=932 0 0
$ mount | grep sdb
/dev/sdb on /media/sdb type vfat (ro,nosuid,nodev,umask=000,shortname=winnt,uid=1000,gid=1000,iocharset=utf8,codepage=932)
$ grep sdb /etc/fstab
/dev/sdb /media/sdb ext2 noauto,users,exec 0 0
$ mount | grep sdb
/dev/sdb on /media/sdb type ext2 (ro,nosuid,nodev)

Written by yassy