coLinuxを使用したWindows 2000 / XP / Vista / 7のすべてのLinuxファイルシステムへのフルアクセス

この記事では、sabzheオペレーティングシステムの下からLinuxで使用されるすべてのファイルシステム(Ext2 / 3/4、ReiserFS、XFS、JFSなど)へのほぼ完全な読み取りおよび書き込みアクセスを取得する方法を説明します。 記事はこのガイドの無料翻訳であり、かなり長い間書かれていますが、私は今しかその底に達しませんでした。 :)



この方法は何ですか?

おそらく誰もがcoLinuxプロジェクトについて聞いたことがあるでしょう。 これは、LinuxシステムコールをWindowsコールに変換するためのドライバーを含む、Windowsから実行するように移植および変更されたLinuxカーネルです。 Linuxアプリケーションは、再コンパイルせずにcoLinuxで実行でき、アプリケーションのパフォーマンスが低下することはありません。

coLinuxシステムを中間リンクとして使用して、必要なファイルシステムにアクセスします。 coLinuxはファイルシステムに直接アクセスし、Windows(以降、ホストシステム)からcoLinuxシステム(ゲストシステム)で構成されたSambaサーバーを使用してそれらを使用できます。 ゲストシステムとホストシステム間の通信は、仮想TAPネットワークアダプターを使用して実装されます。 この場合、アクセス権の編集など、互換性はほぼ完全になります。 (もちろん、ゲストシステムで)。



長所と短所

主な利点は、ネイティブのLinuxファイルシステムドライバーが使用されることです(Linuxの完全なコピーが実際に実行されており、ドライバーがこの環境で動作するため)。 したがって、Windowsのバグ、未完成、または完全に未実現のWindowsドライバーなどの機能なしで、FSへのフルアクセスが実行されます。

最初の欠点は尊厳からスムーズに流れます:すべてのドライバー、サービス、およびプログラムを含むLinuxの完全なコピーが実行されているという事実により、ホストシステムの空きリソースの量は、特にファイルを交換する場合、かなり大幅に減少することがあります。

2番目の欠点は、ファイル共有の速度が遅いことです。XFSファイルシステムからの読み取り速度は1秒あたり平均5メガバイトを超えず、書き込み速度は7です(これはかなり奇妙です)。



Linuxゲストシステムのインストールと設定

  1. ここからcoLinuxカーネルをダウンロードしてください 。 たとえば、ディレクトリC:\ coLinuxにインストールします(記事の後半で例として使用します)。
  2. インストールされたLinuxシステムのイメージの1つをここからダウンロードします 。 私はDebian Lennyを好みました。したがって、ゲストシステムでの今後の作業では、Debian固有のコマンドを使用します。 coLinuxがインストールされているディレクトリ(この場合はC:\ coLinux)にあるイメージでアーカイブを解凍します。
  3. coLinuxディレクトリにあるdebian-lenny.conf構成ファイルを編集します (画像を含むアーカイブを解凍しましたか?)。 #mem = 256行#eth1 = tuntap行からコメント記号(#)を削除します
  4. ここで、設定に必要なセクションの名前を登録して、それらにアクセスする必要があります。 これらの名前は\ Device \ Harddisk1 \ Partition2のようになります。 目的のパーティションの正しい名前を見つける最も簡単な方法は Windowsポートddユーティリティをダウンロードし 、次のコマンドを使用することです。

    dd --list





    管理者権限を持つWindowsコマンドライン(当然、dd実行可能ファイルのあるディレクトリにある)で、 NTブロックデバイスオブジェクトという単語の下で必要なパーティション名を探します(サイズによって必要なパーティションを検索する必要があるため、少し不便です)バイトで与えられます)。

    それで、必要な名前を見つけたので、今度は設定にそれらを入力する必要があります。 構成の最後に、次のような行を入力します。

    cobdX=\Device\HarddiskY\PartitionZ





    Xはデバイスのファイルのシリアル番号(/ devのゲストシステムの下に表示されます)、3から始まり、YとZはWindows名のディスク番号とパーティション番号です。 例:

    cobd3=\Device\Harddisk1\Partition2





    各セクションごとに。
  5. 仮想ネットワークアダプター「TAP-Win32アダプターV8(coLinux)」のプロパティに入ります( WinXP- コントロールパネル-ネットワーク接続-アダプターの RMB- プロパティ-インターネットプロトコル(TCP / IP)-プロパティ 、WinVista / 7- コントロールパネル-ネットワークと共有センター-アダプターの設定を変更-アダプターのRMB-プロパティ-インターネットプロトコルバージョン4(TCP / IPv4)-プロパティ )を設定し、IPアドレス192.168.37.10とサブネットマスク255.255.255.0を設定します 。 設定を保存します。
  6. 最も予想される瞬間は、ゲストシステムの起動です。 :) coLinuxルートディレクトリからdebian-lenny.batファイルを実行し、システムが完全に起動するまで待ちます。 ユーザー名rootとパスワードcolinuxでシステムに入ります。 ディレクトリの作成-ゲストシステムのパーティションのマウントポイント。 ファイル/ etc / fstabを編集し(好みに応じてvimまたはnanoを使用)、そこに行を入力して、マウントするファイルシステムを説明します。次に例を示します。

    /dev/cobd3 /mnt/cobd3 xfs defaults 0 0





    ここではすべてが標準です。目的のセクションのファイル名がcoLinux configのセクション行と一致することだけに注意します。 mount -aコマンドを使用して、すべてのパーティションをすぐにマウントした後。
  7. ホストシステムに仮想ネットワークアダプタをセットアップします。 これを行うには、/ etc / network / interfacesファイルに次の行を追加します。

    auto eth1

    iface eth1 inet static

    address 192.168.37.20

    network 192.168.37.0

    netmask 255.255.255.0

    broadcast 192.168.37.255





    次のコマンドでネットワークインターフェイスをオンにします。

    ifup eth1





    ホストシステム(192.168.37.10)にすぐにpingを送信できます。すべてが問題なく機能するはずです。

  8. Windowsからのファイルへのルートアクセスを防ぐために、 adduserコマンド(例: adduser user1 )で通常のユーザーを作成します
  9. ゲストシステムにSSHおよびSambaサーバーをインストールします。

    apt-get install openssh-server samba





    Samba構成(/etc/samba/smb.conf)で、マウントされたセクションごとにこのタイプのセクションを入力します。

    [sharename1]

    path=/mnt/cobd3

    users=user1

    read only=no






    必要なパラメーターを変更します。 ファイルの編集後、コマンド/etc/init.d/samba reloadを使用してSambaを再起動します
  10. [マイコンピュータ]アイコンのコンテキストメニューで、[ネットワークドライブの割り当て...]オプションを選択します。 各セクションのパス\\ 192.168.37.20 \ ballnameを記述します。ここで、 ballnameは、Samba configセクションの先頭にある角括弧で書かれた名前です。


やった! セクションが表示され、すべてが正常に読み取りおよび書き込みされます(当然、対応する権利がある場合にのみ読み取りおよび書き込みが行われます)。



coLinuxをWindowsサービスとして登録する

1つの問題が残っています-coLinuxは手動で起動する必要があり、コンソールウィンドウを閉じると、ディスクへのアクセスが消えます。 解決策は、coLinuxをWindowsサービス(バックグラウンドで動作する)として登録し、システムの起動時に自動的に起動するように構成することです。

  1. coLinuxディレクトリのWindowsコマンドライン(管理者権限付き)で、次のコマンドを記述します。

    daemon.exe --install-service colinux @ debian-lenny.conf

    次に、サービスを開始します: net start colinux
  2. services.msc (Win + R-services.msc-OK)を起動し、サービスのリストでcolinuxを見つけてダブルクリックし、表示されるウィンドウでスタートアップの種類-自動を選択します。 保存します。


ゲストシステムにアクセスするには、PuTTYを使用します(ip 192.168.37.20に接続します)。

最後に、Linux FSにアクセスするこの方法がこれまでで最高であることに注意したいと思います。前述したように、既存のドライバーはまだ完全な互換性を提供できず、さらに多くの場合お金が必要です。



All Articles