จะสร้างทางแยก NTFS ได้อย่างไร


21

ฉันจะสร้างจุดเชื่อมต่อระบบไฟล์ NTFS ใน Windows XP ได้อย่างไร

คำตอบ:


11

ตามค่าเริ่มต้น Windows XP จะไม่มีเครื่องมือในการสร้างจุดเชื่อมต่อ เครื่องมือนี้ ( linkd) เป็นส่วนหนึ่งของ Windows ทรัพยากร Kit

เครื่องมืออีกอย่างคือทางแยกโดย Mark Russinovich


เมื่อฉันพยายามสร้าง symlink ไปยังโฟลเดอร์ระยะไกลฉันได้รับข้อผิดพลาด "ไม่สามารถสร้างลิงก์ได้ที่: [foldernamehere]" สร้างโฟลเดอร์ว่าง แต่ไม่มีลิงก์
Aaron Franke

7

ลองใช้ยูทิลิตีjunctionจาก Sysinternals โดยมีให้ใน W2k +


หมายเหตุ: เครื่องมือนี้อนุญาตให้คุณเชื่อมโยงโลคัลวอลุ่มเท่านั้น คุณไม่สามารถเชื่อมโยงไปยังสถานที่ห่างไกล
Aaron Franke

นั่นคือไม่สนับสนุนการเชื่อมโยงสัญลักษณ์ที่เหมาะสม แต่เฉพาะ "ไดเรกทอรี junction" - รูปแบบเก่าของจุดแยกวิเคราะห์ NTFS ที่พัฒนาขึ้นสำหรับ Windows 2000
can-ned_food

6

คำจำกัดความของคุณเกี่ยวกับจุดเชื่อมต่อไดเร็กตอรี่เป็นไดเรกทอรีที่เชื่อมโยงไปยังอีกอันหนึ่งหรือไม่?

ถ้าเป็นเช่นนั้นมันง่าย

mklink /J <new directory to be linked> <target directory>

หลังจากนี้ไม่มีความแตกต่างระหว่างไดเรกทอรี พวกเขามี MFT_REF เดียวกัน (จากhttp://en.wikipedia.org/wiki/NTFS_symbolic_link )

fsutil สามารถเป็นประโยชน์ในการสอบถามจุดแยกวิเคราะห์ใหม่และสร้างลิงก์

หากคุณต้องการทราบวิธีการทำสิ่งนี้โดยทางโปรแกรมคุณสามารถโทรหา IOCTL ของไดรเวอร์หน่วยเก็บข้อมูล NTFS บนตัวจัดการไดรฟ์ข้อมูล mklinkแต่มันอาจจะง่ายขึ้นเพียงแค่โทร

โปรดทราบว่าคุณจะต้องมีสิทธิ์ในการเขียนและแก้ไขสิทธิ์สำหรับไดเรกทอรีเป้าหมาย คุณจะต้องเรียกใช้ cmd.exe เพื่อให้มันทำงานได้


19
mklinkไม่มีอยู่บน winxp ฉันเชื่อว่า
skaffman

5
mklink เปิดตัวใน Vista

NTFS Junctions ไม่ได้ให้การอ้างอิงหลายรายการไปยังรายการ MFT การคิดว่ามันเป็นเหมือนฮาร์ดลิงก์หลายตัวที่มีโหนดไฟล์นั้นเป็นความเข้าใจผิด - ซึ่งฉันก็แชร์จนกระทั่งเมื่อไม่นานมานี้ มันเป็นแท็กแยกวิเคราะห์ใหม่บนโหนดไดเรกทอรี fsutil reparsepoint delete the_directory-junction_you_made_to_test_thisคุณสามารถทดสอบนี้โดยการแยกไดเรกทอรีแล้วใช้ คุณจะมีโหนดไดเรกทอรีที่แตกต่างและอาจว่างเปล่า
can-ned_food

3

นอกจากนี้คุณยังสามารถใช้ Link Shell Extension เป็นส่วนต่อประสาน GUI ได้ มันสามารถสร้างทางแยกฮาร์ดลิงก์และแม้กระทั่ง symlink บน Windows XP หากคุณติดตั้งไดรเวอร์ฟิลเตอร์ NTFS 5 จาก Masatoshi Kimura ตามที่อธิบายไว้ http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html



1

คำสั่ง Windows XP, 7 และ 8 โดยธรรมชาติ:

จุดแยกไดเรกทอรี :
mklink /J <oldpath(link)> <newpath(target)>

ทำแน่นอนคุณจะสามารถที่จะย้ายการเชื่อมโยงโดยไม่ทำลายตัวชี้ไปnewpath newpathหากคุณสร้างความnewpathสัมพันธ์คุณจะสามารถป้องกันการทำลายลิงก์ได้ตราบใดที่คุณย้ายทั้งลิงก์และกำหนดเป้าหมายร่วมกันและรักษาเส้นทางที่สัมพันธ์กัน


4
mklink ไม่ได้มีถิ่นกำเนิดใน xp - เป็นเพียงการแนะนำใน Vista
คั

0

คุณสร้างจุดเชื่อมต่อด้วย

REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ... 

การเรียก API pReparseInfoชี้ไปที่REPARSE_MOUNTPOINT_DATA_BUFFERโครงสร้างที่คุณต้องการให้

บทความ MSDNมีชุมชนที่ให้ข้อมูลโค้ดไว้ที่ด้านล่างของหน้าซึ่งแสดงวิธีใช้ API


0

คุณสามารถสร้างทางแยก NTFS ด้วยซอฟต์แวร์พิเศษ ผมขอแนะนำให้เชื่อมโยงส่วนขยายเชลล์ (LSE) มันเป็นฟรีแวร์และใช้งานง่าย นอกจากนี้ยังมีเอกสารที่ดีพร้อมภาพหน้าจอทุกขั้นตอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.