方法:ntfs-3gを使用して、Windows、OS X、およびLinuxホームフォルダーを1つにマージ(トリプルブート)


2

Linuxホームパーティションをc:\ Usersにマージすることを考えているので、Windowsで起動するときはすべてのファイルがc:\ Users \ trusktrにあり、Linuxで起動するときはc:\ Usersがマウントされています/ home / trusktr内のファイルにアクセスできるように。ドットファイルなどを含む2つのOS間でファイルを簡単に共有できるようにして、vimやbashのようなものがOS全体で同じように動作するようにしました。

linux / homeからc:\ usersにすべてをコピーすると、デフォルトですべてが777のアクセス許可を持つことになります(私は気にしません、私は唯一のユーザーなのでセキュリティの問題はありません)。これは機能しますか?

次に、ntfg-3g.usermapを発見しました。これによりchmod 655 /some/file、Linuxの使用中などの操作が可能になり、動作するようになります。LinuxユーザーをWindowsユーザーにマッピングしたら、ファイルのアクセス許可もすべて保持されるかどうか興味があります。

したがって、私の主な問題は、ntfs-3g.usermapを実行していることであり、ファイルに関連付けるグループIDを尋ねるまで問題ありませんが、わかりませんので、Enterを押してから、違う。

出力は次のようになります。Enterキーを押したためUser :、最初のいくつかのGroup :プロンプトは空です。次に、User :プロンプトに1002を入力した後、問題が発生したため、処理方法がわかりません。

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "admin"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group :

Under Windows login "admin"
   file "Contacts" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User :

Under Windows login "Administrator"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group :

Under Windows login "Public"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group :

Under Windows login "trusktr"
   file "Desktop" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 1002
* Search for other directories /

   file "CORE.xml" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group :
"/dev/sda4" closed

You have defined no group, this can cause problems
Do you accept defining a standard group ?
y

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:1002:S-1-5-21-2516108075-519671461-2442963378-1001
Undecided :
   S-1-5-21-2516108075-519671461-2442963378-513
   S-1-5-21-2516108075-519671461-2442963378-1002

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting

したがって、ntfs-3g.usermapコマンドが終了した後に生成されるコンテンツは次のとおりです。

# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:1002:S-1-5-21-2516108075-519671461-2442963378-1001

私は何をすべきか考えていますか?

数分後に編集します。

LinuxでNTFS Windowsパーティションをマウントすると、UserMappingsファイルをセットアップした後ls -l /mnt/windows-partition/Users/trusktr/、ファイルの所有権が1002:1002であることが示されます。通常、Linuxを使用している場合は1002:100であるはずなので、で確認しls -l /home/trusktr/ます。そのため、UserMappingsファイルを開いて、他のファイルが1002:1002続いていることに気づいたので1002:100、NTFSパーティション上のファイルを一覧表示すると、Linuxにあるものと一致する正しい所有権が表示されるようになりました。

編集したUserMappingsファイルは次のようになります(変更は2行目の先頭にあります)。

# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:100:S-1-5-21-2516108075-519671461-2442963378-1001

UserMappingsファイルの最初の行が何のためにあるのかまだわかりません。私の推測では、c:\ Windows \ CORE.xmlファイルを所有するグループに関係していると思われます。

うまくいけば、これがうまくいく!rsyncを使用して/ home / trusktrのすべてのファイルをc:\ Users \ trusktrに(/ homeからc:\ Usersへの他のユーザーフォルダーと共に)マージし、c:\ Usersを/ homeとしてマウントしようとしますLinux ...

編集、7時間後:

やった!WindowsとLinux間でホームフォルダーを正常に共有しています。どちらのOSからでも起動でき、デスクトップ上にまったく同じファイルがあります。今、しばらくテストして、安定しているかどうかを確認する必要があります。私がやったことの更新を投稿します...

編集、7か月後:

ユーザーマッピングを作成し、Windowsパーティションの/.NTFS-3Gフォルダーに配置すると、Windowsを問題なく起動できます。Linuxの場合、/ Usersフォルダーがホームディレクトリになります。これはfstabで設定できます。基本的に、Windowsパーティションをマウントするように指示してから、Usersフォルダーを/ homeとしてマウントするように指示します。例えば:

# <file system> <dir>       <type> <options> <dump> <pass>

# mount the windows partition somewhere.
/dev/NTFS-part /mnt/windows ntfs-3g defaults         0 0

# then bindount the Users folder as /home.
/mnt/windows/Users /home none bind       0 0

編集、24か月後:

現在、上記と同様の手順を実行していますが、NTFSを使用してntfs-3gを使用してLinuxとOS Xでデュアルブートします。次のステップでは、上記と同様にWindowsをミックスに追加し、3つのOSすべての間にトリプルブート共有ホームフォルダーを作成します。:}


3
あなたは本当にこれをすべきではありません。NTFSは、ホームディレクトリにあることが重要な多くの機能をサポートしていません。
イアン

1
ext2をホームパーティションとして使用し、ext2のマウントがWindowsで比較的よくサポートされるようになりました。しかし、それをしないでください、両方のシステムは、異なるファイルを扱うことは間違いなく良い考えではありませんazndん
Kiwy

@Ianまあ、すべての/ homeファイルがバックアップされているので、さらに悪いことに、c:\ Usersから大量のファイルを削除することになりますが、/ homeファイルを回復できます。特に、どの機能が必要になると思いますか?そして、結果はどうなるのでしょうか?
trusktr 14

1
@Kiwy確かに。洞察力をありがとう!しばらく試運転して、どのように動作するかを確認する必要があります。ls -l一部のディレクトリで速度が遅いことに気付きました。そして、ええ、すべての詳細を更新してください。私もarchlinux.orgにWikiページを置くことを考えています。
trusktr 14

2
@MilindR更新しました。おそらく、手順を含む回答を投稿する必要があります。Linuxで/ homeとしてフォルダーをマウントするためにマッピングwadを作成した後に残ったすべて。
trusktr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.