cygwinがLinux(ext3)パーティションにアクセスする方法はありますか?


3

Windows上のcygwinを介してLinuxパーティションにアクセスできるようにしたいと思います。私の目的は、LinuxサーバーからWindows 7を実行している自宅のコンピューターにデータをバックアップすることです。現時点では、無効な文字を含むファイルがある場合や、大文字と小文字が異なる同じ文字のファイルが複数ある場合を除いて、ほとんど機能します。


パーティションにどのようにアクセスしていますか?Linuxボックスのsambaサーバー経由?
ak2

1
基本的に、SSH経由でアクセスしているLinuxサーバーを、ext3ドライブを備えたWindowsコンピューターにバックアップしようとしています。現在、cygwinでrsyncを使用していますが、上記の問題が発生します。
マイクウィアー

無効な文字の例をいくつか示してください。Cygwin 1.7には:、Windowsファイル名で許可されていない文字などの特殊な処理があり、「Unicodeプライベート使用領域」にマッピングされます。古いCygwinバージョンを使用していますか?
ak2

バックスラッシュ文字、つまり、再マッピングされません。
マイクウィアー

回答:


1

私がしているのは、VirtualBoxを使用することです。これには2つの方法があります。

  1. データをVMDKファイルに保存する
    • これは非常に簡単で安全です。バックアップ用に異なるサイズのVMDKファイルを保持することもできます
  2. HDD上の実際のEXT3パーティションへのRAWディスクアクセスを作成します
    • これはトリッキーな方法であり、ext3パーティションを簡単に破壊できることに注意してください
      (特に、マウントされているときにサスペンドまたは休止状態を使用する場合)
    • また、Windowsブートパーティションを書き込みモードでRAWでマウントしようとしないでください。

更新:
自動化に興味がある場合:VBoxManageを使用すると、コマンドラインからVMを制御できます。


読み取り専用でマウントすることを覚えていれば、ext3ファイルシステムの損傷の可能性は特に大きいとは思いません。
エローエン

@Eroen、ローカルパーティションを読み取り専用でマウントすると、ローカルパーティションをバックアップターゲットにする目的が無効になります。
ニック

私が理解しているように、OPはext3ファイルシステムからデータを抽出したいと考えています。しかし、それは非常に間違った仮定かもしれません。
エローエン

IMO、OPはLinuxサーバーから自分のローカルWindowsシステムにデータをバックアップしようとしていますが、windows-file-nameの制限に悩まされています。
ニック

それは有効なスタンスであり、より理にかなっています。ノイズについてすみません。
エローエン

1

私の理解では、完全なディレクトリツリーをファイルごとに別のコンピューターにコピーして、バックアップを作成します。これは確かにバックアップを作成する1つの方法ですが、特にあなたの場合はうまく機能しないように見えるので、別のアプローチをお勧めします。

自分で(原則的に)行うことは、Linuxサーバー上でローカルにバックアップしたいファイルのtarballを作成し、sshを介して別の場所に保存することです(実際はsshfsですが、問題ありません)。これにより、Linuxサーバーでのtar実装がファイル名を処理する限り、ファイル名に関する問題が解消されます。

これを行うには、接続するLinuxサーバーのsshサーバー、または次のようなコマンドを使用してcygwinをセットアップします。

ssh $server "tar c -C /var/important ./" > backup.tar

バックアップを保持するコンピューターでcygwinから実行します。また、Linuxサーバーにtarballを保存して、後で転送することもできます。

消費される帯域幅とディスク容量を減らしたい場合は、gnu tarの代わりにstarを使用することをお勧めします。これは、前回のバックアップ後に変更されたファイルのみを含めることができる増分モードです。ただし、rsyncのデルタ転送はまだ行われず、ファイルのいくつかのバージョンはディスク容量を占有します。一方、tarballはディレクトリツリーよりも(xzなどを使用して)効率的に圧縮する方がはるかに簡単です。


これはオプションではありません。データは25 GBで、47,000ファイルに及びます。rsyncなどを使用しなかった場合、永遠に時間がかかります。インクリメンタルモードを使用しても、時間がかかりすぎてサーバー上のスペースの半分にすぎない手順になります。
マイクウィアー

0

Windowsカーネルが大文字と小文字を区別せずにファイル名を処理するかどうかを決定するレジストリ設定があります。

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive

これを設定して0再起動すると、大文字と小文字が異なるだけのファイルを許可できます。http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitiveも参照してください

Cygwin 1.7 :は、Windowsのファイル名で許可されていない文字を「Unicodeのプライベート使用領域」に自動的にマッピングします。これの1つの大きな例外はバックスラッシュです。これは、Windowsの相互運用性のためにディレクトリセパレーターとして扱われるため、Linuxファイル名でそれらを回避するか、もちろんまったく異なるアプローチを使用することができます。


これは特殊文字を解決しません。これは他の点で非常に危険です。
マイクウィアー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.