สร้างลิงก์สัญลักษณ์ NTFS จากภายใน Linux


15

มียูทิลิตี Linux ที่สามารถสร้างลิงค์สัญลักษณ์ของ NTFS ได้หรือไม่? นั่นคือลิงก์ในพาร์ติชัน NTFS ที่ชี้ไปยังโฟลเดอร์ NTFS อื่น - อันหนึ่งที่จะทำงานภายใน Windows 7 โดยเฉพาะ

ฉันต้องการย้ายโฟลเดอร์ที่ปกติแล้วใช้งานในขณะที่ Windows กำลังทำงานอยู่ เครื่องนี้สามารถดูอัลบูตในอูบุนตูได้แล้วดังนั้นฉันต้องการใช้มันให้เป็นประโยชน์

แก้ไข : เพื่อป้องกันไม่ให้สิ่งนี้กลายเป็น "Windows CD ที่ดีที่สุด" ฉันจะ จำกัด คำถามนี้เป็น "เป็นไปได้กับ Linux, ใช่หรือไม่"


1
สร้างลิงก์สัญลักษณ์ในไดรฟ์ที่เลเบลในเครื่อง Windows เครื่องอื่นหรือไม่

แน่นอนว่าเป็นทางเลือก แต่ฉันมีแนวโน้มที่จะไปกับแผ่นซีดีบูตมากกว่าที่จะดึงไดรฟ์ในกรณีนี้
rymo

ณ วันนี้ ntfs-3g จริงบน linux สร้างลิงค์ที่ทำงานได้ดีภายใต้ linux แต่ windows (7) ไม่ได้ระบุอย่างถูกต้อง อย่างไรก็ตามลิงค์ที่สร้างขึ้นโดยใช้ mklink ภายใต้ windows ทำงานได้อย่างถูกต้องภายใต้ linux
liwin

คำตอบ:


11

ด้วยการใช้NTFS-3G Advancedทำให้ดูเหมือนว่าจะสามารถจัดการกับ junctions / NTFS links ที่มีอยู่ราวกับว่าพวกเขาเป็น Linux symlinkแต่เป้าหมายที่แท้จริงของฉันในการสร้างใหม่ที่ทำงานใน Windowsนั้นไม่ต้องไปทำงาน:

dereferencing จุดเชื่อมต่อและการเชื่อมโยงสัญลักษณ์ที่สร้างขึ้นโดยใช้ Windows ทำจึงเป็นไปได้เพื่อให้มีการเชื่อมโยงอย่างหนักการเปลี่ยนชื่อและลบ แต่สร้างใหม่ไม่ได้


4

วิธีสร้างลิงก์สัญลักษณ์ (aka: จุดเชื่อมต่อหรือจุดแยกวิเคราะห์ใหม่) บนไดรฟ์ NTFS จาก Linux นำมาจาก: http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/

หากมีความจำเป็น: sudo apt-get attr

# Display the reparse data of the file source-file
getfattr -h -e hex -n system.ntfs_reparse_data source-file

# Copy the reparse data of the file source-file
# to the file target-file
REPARSE=`getfattr -h -e hex -n system.ntfs_reparse_data source-file | \
         grep '=' | sed -e 's/^.*=//'`
setfattr -h -v $REPARSE -n system.ntfs_reparse_data target-file

คุณช่วยปรับปรุง anwser นี้ได้ไหม คุณยังไม่ได้กล่าวถึงมันจำเป็นต้องมีsudo apt-get attrก่อน ไฟล์ต้นฉบับและไฟล์เป้าหมายคืออะไร ถ้าผมต้องการที่จะสร้างการเชื่อมโยงจาก/home/xxx/Musicการ/media/Storage/Musicที่หนึ่งที่เป็นแหล่งที่มาและที่เป็นเป้าหมายหรือไม่
loostro

นอกจากนี้ส่วนแรก (getfattr) ส่งคืน "No attribute ดังกล่าว" ไม่ว่าฉันจะเรียกใช้ในวันที่/home/xxx/Musicหรือ/media/Storage/Music
loostro

3

ฉันรู้ว่ากระทู้นี้ค่อนข้างล้าสมัย แต่เมื่อเร็ว ๆ นี้ฉันมีปัญหาเดียวกัน (ฉันต้องการย้ายโฟลเดอร์ระบบ windows ไปยังไดรฟ์อื่น) และนี่เป็นวิธีง่ายๆ

ใน Windows คัดลอก (ไม่ย้าย) โฟลเดอร์ไปยังตำแหน่งใหม่และสร้าง symlink ด้วยชื่อที่แตกต่างกันเล็กน้อย (ดังนั้นจึงไม่เกิดการชน) จากนั้นใน Linux เพียงแค่ลบโฟลเดอร์ดั้งเดิมและเปลี่ยนชื่อ symlink เป็นชื่อโฟลเดอร์เดิม รีสตาร์ทและทำงานได้ ระบบที่ใช้คือ Windows 8.1 และ Ubuntu 14.04

Lubo


0

เพียงติดตั้งพาร์ติชันภายใต้ Linux และสร้างลิงค์ด้วยln -sควรใช้งานได้ สิ่งนี้ไม่ได้ให้คุณเข้าถึงความซับซ้อนของการเชื่อมโยง NTFS ได้ทั้งหมด แต่น่าจะเพียงพอสำหรับวัตถุประสงค์ของคุณ

มีการใช้งาน NTFS สำหรับ Linux สองแบบ: NTFS-3g (ชื่อระบบไฟล์ntfs-3g, แพ็คเกจ Ubuntu ntfs-3g) และ Linux-NTFS (ชื่อระบบไฟล์fuse.ntfs, แพ็คเกจ Ubuntu ntfsprogs) หากหนึ่งในนั้นไม่ได้ทำสิ่งที่คุณต้องการลองอีกหนึ่ง


1
ฉันกำลังติดตั้งพาร์ติชันด้วย ntfs-3g แล้วและไม่ได้ติดตามลิงก์ / จุดเชื่อมต่อที่มีอยู่แล้วและไม่สร้างลิงก์ที่เข้ากันได้กับ Windows ด้วยln
rymo

-1

ดูเหมือนว่าเอกสารสำหรับ NTFS-3G นั้นล้าสมัยฉันใช้ Ubuntu เวอร์ชัน 2011.4.12AR.4-2ubuntu3 และฉันสามารถสร้างลิงก์สัญลักษณ์ภายในพาร์ติชันเสมือนได้สำเร็จ นี่คือขั้นตอนที่ฉันใช้ทดสอบ:

dd if=/dev/zero of=ntfs.image bs=1024 count=20480
mkfs.ntfs -F ntfs.image
mkdir ntfs
sudo mount ntfs.image ntfs
cd ntfs
mkdir target
ln -s ./target symlink
ls -alF
cd -
rmdir ntfs
sudo umount ntfs
rm ntfs.image

1
คำถามคือ symlink ของคุณจะทำงานอย่างถูกต้องหรือไม่หาก ntfs.image นั้นถูกเมาท์ภายใต้การติดตั้ง Windows จริงหรือไม่ ประเด็นทั้งหมดคือฉันต้องการใช้ Linux เพื่อจัดเรียงโครงสร้างไดเรกทอรีพาร์ติชัน Windows จริง
rymo

ฉันไม่รู้แน่ชัด แต่ฉันเดาว่า NTFS-3G จะไม่เพิ่มคุณสมบัตินี้ของ Windows ไม่รู้จักลิงก์ เป็นสิ่งสำคัญที่จะต้องทราบว่าคุณจะต้องโหลดแพ็คเกจ "ntfs-3g" หากคุณบูตไปยังดิสก์สดเพื่อลองทำสิ่งนี้ไม่มีการแจกจ่ายที่ฉันรู้ว่ามี NTFS-3G อยู่ในดิสก์
Compholio

1
ln -s"ทำงาน" สำหรับฉันโดยที่มันไม่ได้ล้มเหลว แต่ลิงก์ผลลัพธ์ไม่สามารถใช้งานได้เมื่อติดตั้งใน Windows หากคุณสามารถทดสอบสิ่งนี้ได้จริงโปรดแจ้งให้เราทราบว่าเกิดอะไรขึ้น
rymo

ใช่ฉันพยายามทำงานแล้วและลิงค์เหล่านี้ไม่เป็นที่รู้จัก และยังไม่รู้จัก Junction Points ที่ทำบน Windows ดังนั้นจึงเป็นไปได้ว่าฉันต้องอัพเกรดระบบปฏิบัติการของฉัน (ปัจจุบันใช้ 11.10)
Compholio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.