Nasıl Yapılır: ntfs-3g kullanarak Windows, OS X ve Linux giriş klasörlerini bir (üçlü önyükleme) halinde birleştirme


2

Linux ana bölümümü c: \ Users ile birleştirmeyi düşünüyorum, bu yüzden Windows'ta önyüklerken tüm dosyalarımı c: \ Users \ trusktr içinde kullanıyorum ve Linux'a önyüklerken c: \ Kullanıcılarım benim / home / home / trusktr adresindeki dosyalarıma erişebilmem için. Nokta dosyaları, vb dahil iki işletim sistemi arasında dosya paylaşımını kolaylaştırmaya çalışıyorum, böylece vim ve bash gibi şeyler kolaylık sağlamak için işletim sistemlerinde tam olarak aynı davranıyor.

Her şeyi linux / home'dan c: \ users'e kopyalayacağımı düşündüm, bu da varsayılan olarak 777 izne sahip olan her şeye neden olur (umrumda değil, tek kullanıcı benim, bu yüzden güvenlik sorunu yok). Bu işe yarayacak mı?

Sonra ntfg-3g.usermap 'ı keşfettim. Bu chmod 655 /some/fileLinux'taki gibi işleri yapmama izin verecek gibi gözüküyor ve işe yarayacak. Linux kullanıcımı Windows kullanıcısı ile eşleştirdikten sonra tüm dosya izinlerimi de koruyacak mı merak ediyorum.

Bu yüzden asıl sorunum, ntfs-3g.usermap kullanıyorum ve bir grup kimliğinin bir dosya ile ilişkilendirmesini isteyinceye kadar sorun değil, ama bilmiyorum bu yüzden enter tuşuna basın, sonra görünüyor yanlış.

İşte çıktının neye benzediği. İlk birkaç mesaj User :ve bilgi Group :istemi boş çünkü enter tuşuna bastım. Sonra User :istem için 1002 girdim , sonra sorunum var nasıl başa çıkacağımı bilmiyorum.

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

Bu yüzden ntfs-3g.usermap komutu tamamlandıktan sonra oluşturulan içerik şöyledir:

# 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

Ne yapmam gerektiği hakkında fikrin var mı?

Birkaç dakika sonra EDIT:

Linux'ta NTFS Windows bölümünü kurduğumda, UserMappings dosyasını ayarladıktan sonra ls -l /mnt/windows-partition/Users/trusktr/, dosyaların sahipliğinin 1002: 1002 olduğunu gösterir. Normalde, linux'dayken ve kontrol ettiğimde 1002: 100 olması gerekiyordu ls -l /home/trusktr/. Böylece, UserMappings dosyasını açtım ve 1002:1002diğer şeyler tarafından takip edildiğini ve bunun da içerdiğini fark ettim , bu yüzden onu değiştirdim 1002:100ve şimdi NTFS bölümündeki dosyaları listelediğimde Linux'takilerim ile eşleşen doğru sahipliği gösteriyorlar.

İşte düzenlenmiş UserMappings dosyalarının şimdi nasıl göründüğü (değişiklik ikinci satırın başında):

# 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 dosyalarındaki ilk satırın ne için olduğundan hala emin değilim. Tahminim, c: \ Windows \ CORE.xml dosyasına sahip olan grupla ilgili olması gerektiği.

Yani umarım bu işe yarar! Şimdi tüm dosyalarımı / home / trusktr ile c: \ Users \ trusktr (/ home ile c: \ Users arasındaki diğer kullanıcı klasörleriyle birlikte) ile rsync kullanarak birleştireceğim, ardından c: \ Users / / home olarak bağlanmaya çalışacağım. Linux ...

EDIT, 7 saat sonra:

Yaptım! Ev klasörlerimi başarıyla Windows ve Linux arasında paylaşıyorum. Her iki işletim sistemine de önyükleyebilirim ve masaüstünde aynı dosyalara sahip olabilirim. Şimdi bir süre test edip kararlı olup olmadığına bakmalıyım. Yaptıklarım hakkında bir güncelleme yayınlayacağım ...

EDIT, 7 ay sonra:

Kullanıcı eşleştirmeyi yaptıktan ve onu Windows bölümünün /.NTFS-3G klasörüne yerleştirdikten sonra, Windows'u sorunsuzca başlatabilirsiniz. Linux için, / Kullanıcılar klasörü şimdi ana dizim olacak. Bu, fstab ile ayarlanabilir. Temel olarak, windows bölümünü bağlamasını ve ardından Kullanıcılar klasörünü / home olarak bağlamasını söyle. Örneğin:

# <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

EDIT, 24 ay sonra:

Şimdi yukarıdaki gibi benzer adımlar atıyorum, ancak ntfs-3g ile ikisi arasında NTFS kullanarak Linux ve OS X ile çift önyükleme yapıyorum. Bir sonraki adım, Windows'u yukarıdakilere benzer şekilde karışıma eklemek ve üç işletim sisteminin tümü arasında üçlü önyükleme paylaşılan bir ana klasöre sahip olmak. :}


3
Bunu gerçekten yapmamalısın. NTFS, giriş dizininizde bulunması gereken birçok özelliği desteklemez.
Ian,

1
ext2'yi ev bölümü olarak kullanmak ve ext2'yi bağlamak, pencereler tarafından nispeten daha iyi desteklenmektedir. ama lütfen bunu yapmayın, her iki sistem de dosyaları farklı şekilde işlemektedir ve bu kesinlikle iyi bir fikir değildir
Kiwy

@Ian Tamam, tüm / home dosyalarım yedeklendi, bu yüzden en kötüsünü c: \ Users'dan silmek için bir dosya karmaşasına sahip olacağımı düşünüyorum, ancak hala / home dosyalarımı kurtarabilirim. Özellikle hangi özelliklerin eksik olacağına ihtiyaç duyacağımı düşünüyorsunuz? Ve sonuç ne olabilir?
trusktr

1
@Kiwy Herhalde. İçgörü için teşekkürler! Bir süre sürüşü denemek ve nasıl yapıldığını görmek zorunda kalacağım. ls -lBazı dizinlerde daha yavaş olduğunu fark ettim . Ve evet, tüm detayları ile güncellediğinizden emin olacağım. Ben de archlinux.org'da bir Wiki sayfası açmayı düşünüyorum.
trusktr

2
@MilindR Ben güncelledik. Muhtemelen adımlarla bir cevap göndermeliyim. Bunların hepsi Linux'ta / home olarak klasörü takmak için haritalama aracı yaptıktan sonra kaldı.
trusktr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.