ฉันจะคัดลอกไฟล์ที่มีขนาดใหญ่กว่า 4GB ไปยังแฟลชไดรฟ์ USB ได้อย่างไร


53

ฉันพยายามคัดลอกไฟล์ขนาด 6GB ไปยังแฟลชไดรฟ์ USB แต่จะไม่คัดลอก


23
ไดรฟ์ USB ถูกฟอร์แมตด้วย FAT32 หรือไม่ ระบบไฟล์นั้นไม่รองรับไฟล์ที่มีขนาดใหญ่กว่า 4GB คุณต้องจัดรูปแบบแตกต่างจากนั้นเช่นเป็น NTFS ระวังว่าการฟอร์แมตเป็นการลบข้อมูลทั้งหมดในไดรฟ์
ผู้บัญชาการ Byte

14
คุณช่วยกรุณาใส่รายละเอียดเพิ่มเติมในคำถามเกี่ยวกับ "มันจะไม่คัดลอก"? คุณลองใช้คำสั่งอะไร? คุณได้รับข้อความแสดงข้อผิดพลาดอะไร (สิ่งเหล่านี้มีประโยชน์มากในกรณีที่บางคนมีปัญหาเดียวกันในอนาคตและกำลังค้นหาคำตอบ ... )
psmears

2
google สำหรับ "ไม่สามารถคัดลอกไฟล์ที่มีขนาดใหญ่กว่า 4GB" และคุณจะได้รับคำตอบมากมายใน stackexchange
phuclv

5
นอกจากนี้ยังอาจเป็นประโยชน์ในการรวมขนาดของ USB ด้วย
George Tian

3
@Nukeface คุณสามารถตอบคำถามพร้อมคำแนะนำเกี่ยวกับวิธีการทำเช่นนั้นได้หรือไม่? การทิ้งคำตอบครึ่งหนึ่งไว้เป็นความคิดเห็นมักทำให้เกิดอันตรายมากกว่าดีได้ ขอบคุณ
Eliah Kagan

คำตอบ:


108

นี่เป็นเพราะข้อ จำกัด ของ FAT32 ไฟล์ที่มีขนาดใหญ่กว่า 4GB ไม่สามารถจัดเก็บในโวลุ่ม FAT32 การฟอร์แมตแฟลชไดรฟ์เป็น exFAT หรือ NTFS จะแก้ไขปัญหานี้ได้

คำเตือน: สำรองข้อมูลของคุณ การจัดรูปแบบจะลบข้อมูลทั้งหมดในอุปกรณ์ของคุณ


20
BTW, การจัดรูปแบบแฟลชไดรฟ์ตามที่ext3เป็นตัวเลือกด้วย
Basile Starynkevitch

18
@BasileStarynkevitch ใช่ แต่ก็ไม่สามารถใช้งานได้มากในระบบปฏิบัติการที่เป็นกรรมสิทธิ์บาง;)
Ruslan

11
@Ruslan: ฉันที่สองนี้ การใช้ ext3 / 4 บน Windows นั้นเจ็บปวดกว่าการใช้ exFat และ NTFS ใน Linux
JIV

13
แม้ว่ามันจะเป็นการสร้างของ Microsoft แต่ก็มีหลายสิ่งที่จะกล่าวถึง exFAT ดังที่คนอื่น ๆ สังเกตเห็นว่ามันถูกจัดการโดยระบบปฏิบัติการเดสก์ท็อปทั้งสามตัวดังนั้นคุณจะมีแนวโน้มที่จะทำงานร่วมกันได้สูงสุด นอกจากนี้มันถูกออกแบบมาเพื่อใช้กับแฟลชไดรฟ์ขนาดใหญ่ การอ้างอิง: en.wikipedia.org/wiki/ExFAT โดยเฉพาะอย่างยิ่งเนื่องจากสามารถทำเครื่องหมายไฟล์ว่าต่อเนื่องกันและหลีกเลี่ยงการสัมผัส FAT มันทำงานได้อย่างมีประสิทธิภาพมากในกรณีที่ใช้ OPs: การจัดการไฟล์ขนาดใหญ่มาก
dgnuff

8
@dgnuff คุณหมายถึงระบบปฏิบัติการเดสก์ท็อปหลักทั้งสามนี้:)
dn3s

91

หากคุณไม่ต้องการฟอร์แมตไดรฟ์ USB หรือต้องการให้เป็น FAT32 คุณสามารถแยกไฟล์ขนาดใหญ่เป็นส่วน ๆ ได้ ตัวจัดการการเก็บถาวรส่วนใหญ่มาพร้อมกับตัวเลือกการแยกและสำหรับบรรทัดคำสั่งจะมีsplitเช่นสำหรับกรณีของคุณ:

split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.

ดูman splitเอกสารฉบับเต็ม สิ่งนี้จะสร้างไฟล์ต่อไปนี้:

4,0G output.file.aa
1,6G output.file.ab

ขนาดไฟล์ของoutput.file.aaการแข่งขันว่าขนาดไฟล์สูงสุดของ FAT32 ไดรฟ์ USB ที่จัดรูปแบบของคุณซึ่งเป็น4 Gibibyte (ลิ่มที่ไม่ได้เช่นเดียวกับ Gigabyte GB) ลบ 1 ไบต์
ขอบคุณGillesสำหรับการเพิ่มที่สำคัญนี้


ก่อนที่คุณจะสามารถเข้าถึงไฟล์ได้อีกคุณจะต้องรวมส่วนต่าง ๆ ของมันก่อน บนระบบ Linux คุณสามารถทำได้ด้วย:

cat output.file.* > input.file

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

copy /b output.file.aa+output.file.ab input.file

พร้อมด้วยสาธารณูปโภค GNU มีประโยชน์อื่น ๆ อีกมากมายsplitสามารถติดตั้งใน Windows เกินไปดูสาธารณูปโภค GNU สำหรับ Win32


2
ฉันเดิมพันครึ่งหนึ่งของ upvotes ที่ฉันได้รับที่นี่เป็นเพราะ GiB กับ GB ;)
ของหวาน

2
ฉันจะได้รับการสนับสนุนsplitโดยไม่แยกความแตกต่างระหว่าง GiB และ GB แต่ฉันจะส่ง attaboy ที่ ...
Zeiss Ikon

1
@dessert ฉันคาดหวังว่าจะให้คุณ upvotes มากขึ้นประมาณ 7.4% เท่านั้น
Eliah Kagan

1
ฉันอัปเกรดเพราะการฟอร์แมตไดรฟ์ใหม่เพื่อให้สามารถย้ายไฟล์ขนาดใหญ่หนึ่งไฟล์เป็นคำตอบที่น่ากลัวเมื่อsplitมีอยู่เพื่อวัตถุประสงค์นี้และไม่จำเป็นต้องใช้ในตอนท้ายที่ได้รับ FAT32 เป็นภาษากลางของไดรฟ์ USB ด้วยเหตุผล
Monty Harder

ฉันคิดว่า-b 4095Mคงง่ายกว่าและได้ผลเหมือนกับbcคำสั่ง $(((4<<30)-1))ในทุบตีหนึ่งยังสามารถใช้เปลือกเลขคณิต:
David Foerster

39

ปัญหา: FAT32 มีขีด จำกัด 4GiB สำหรับขนาดไฟล์

มีการตรวจสอบสถานการณ์และระบบไฟล์ที่แตกต่างกันเพื่อค้นหาทางเลือกอื่น ๆ

  • ปัญหาขนาดไฟล์
  • ระบบปฏิบัติการใดที่ควรอ่าน / เขียนไดรฟ์ USB

Linux เท่านั้น

ถ้าคุณตั้งใจจะใช้ไดรฟ์เฉพาะกับอูบุนตู (และลินุกซ์ distros อื่น ๆ ) มันเป็นความคิดที่ดีที่จะใช้ระบบไฟล์ลินุกซ์เช่นext4 วิธีนี้คุณจะได้รับความเร็วในการอ่าน / เขียนสูงขึ้น (ขึ้นอยู่กับกระบวนการที่เป็นคอขวด) และคุณจะได้รับความยืดหยุ่นที่สูงขึ้นเกี่ยวกับการเป็นเจ้าของและการอนุญาต

  • คุณสามารถใช้โปรแกรม GUI gpartedเพื่อสร้างระบบไฟล์ext4

สามารถใช้งานร่วมกับ Linux, Windows และ MacOS ได้อย่างสมบูรณ์

Windows มีปัญหาเกี่ยวกับระบบไฟล์ลินุกซ์และฉันคิดว่า MacOS มีปัญหาทั้งที่มีระบบไฟล์ลินุกซ์และNTFS ดังนั้นหากคุณต้องการ 'ความเข้ากันได้เต็มรูปแบบ' สำหรับการอ่านและการเขียนมีเพียงFAT32 , UDFและexFATเท่านั้น

  • FAT32มีขีด จำกัด 4GiB (gibibyte, base 2) สำหรับขนาดไฟล์

    • สามารถสร้างได้ในทั้งสามระบบปฏิบัติการ
    • บำรุงรักษา (ซ่อมแซม) ใน Windows หากคุณสามารถเข้าถึง Windows
    • สามารถเก็บรักษาไว้ในอูบุนตูกับdosfsckที่มาพร้อมกับแพคเกจdosfstools,

      sudo apt-get install dosfstools
      
      sudo dosfsck -a /dev/sdxn  # least destructive option
      sudo dosfsck -r /dev/sdxn  # more powerful option
      

      โดยที่ x คืออักษรชื่อไดรฟ์และ n คือหมายเลขพาร์ติชันตัวอย่างเช่น/dev/sdb1สำหรับพาร์ติชันแรกในไดรฟ์ b

  • UDFอาจไม่มีเครื่องมือในการซ่อมระบบไฟล์

    • ฟอสส์
    • อาจเป็นไปได้ที่จะหาเครื่องมือซ่อมแซมใน Windows ผ่านลิงค์นี้: เครื่องมือ fsck สำหรับ UDFและมีเครื่องมือบางอย่างพร้อมใช้งานเป็นซอร์สโค้ด
    • สามารถสร้างได้ใน Ubuntu
    • เข้ากันได้กับลิงค์สไตล์ลินุกซ์
    • เข้ากันได้กับสิทธิ์การใช้งานสไตล์ลินุกซ์ คุณสามารถสร้างและแก้ไขการอนุญาตของแต่ละไฟล์ (ซึ่งไม่สามารถทำได้กับ FAT และ NTFS)
    • พาร์ติชัน UDF จะไม่ได้รับพร้อมท์สำหรับการจัดรูปแบบโดย Windows 10 (ในขณะที่ระบบไฟล์ linux ext4 ได้รับผลกระทบและสามารถถูกทำลายได้โดยไม่ตั้งใจ)
    • วิธีสร้างและใช้ UDF: การใช้ UDF เป็นตัวตายตัวแทนของ FAT สำหรับอุปกรณ์ USB

      ดังนั้นเพื่อใช้งานสมมติว่าอุปกรณ์ USB ของคุณคือ/dev/sdx:

      1. ติดตั้งแพ็คเกจ udftools

        sudo apt-get install udftools
        
      2. สร้างตารางพาร์ทิชันและหนึ่งพาร์ทิชันด้วยgpartedหรือgnome-disks

      3. เช็ด mibibyte แรกของพาร์ติชันเป้าหมายด้วยความเสี่ยงdd(ตรวจสอบบรรทัดคำสั่งอีกครั้ง!)

        sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
        
      4. Run mkudffs,

        sudo mkudffs -b 512 --media-type=hd --lvid=my-label /dev/sdx1
        

      เช็ด mibibyte แรกของพาร์ติชันเพื่อลบข้อมูลระบบไฟล์ก่อนหน้า (หรือข้อมูลอื่น ๆ ที่เหลือ) เพื่อป้องกันไม่ให้ USB stick ตรวจพบว่าคุณเป็น FAT หลังจากฟอร์แมตด้วย UDF

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

      หลังจากนั้นแท่ง USB ของคุณจะสามารถใช้งานได้สำหรับการอ่านและการเขียนด้วย GNU / Linux และระบบปฏิบัติการฟรีอื่น ๆ แน่นอน แต่ยังมี Windows รุ่นปัจจุบัน (อ่านอย่างเดียวกับ XP รุ่นล้าสมัย) และ MacOS

  • exFATเป็นอีกทางเลือกหนึ่ง มันเป็นของใหม่เมื่อเทียบกับ FAT32และ UDFและอ้างว่าใช้งานได้ดี

    • ด้วย Windows
    • ด้วย MacOS
    • ด้วย Linux

เพิ่มเติมเกี่ยวกับ exFAT

ฉันเริ่มทดสอบexFATใน Ubuntu ฉันตั้งใจจะแก้ไขคำตอบนี้เมื่อฉันมีประสบการณ์ในการใช้มากขึ้น ขอให้เราเริ่มต้นด้วยการต่อไปนี้การเชื่อมโยง ,

  • en.wikipedia.org/wiki/ExFAT

    ExFATเป็นระบบไฟล์ที่เป็นกรรมสิทธิ์ของ Microsoft ที่ปรับให้เหมาะสำหรับ

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

  • วิธีจัดรูปแบบไดรฟ์ด้วย exfat (ใน Ubuntu)

และบรรทัดคำสั่งนี้เพื่อติดตั้งการสนับสนุน [อ่าน / เขียน] สำหรับ exFAT ใน Ubuntu

sudo apt-get install exfat-utils exfat-fuse
  • สามารถสร้างใน Windows และ MacOS และใน Linuxด้วยบรรทัดคำสั่งต่อไปนี้

    sudo mkfs.exfat -n YOUR-LABEL /dev/sdxi
    

    ที่xเป็นตัวอักษรไดรฟ์และเป็นจำนวนพาร์ทิชันเช่นi/dev/sdb1

  • สามารถรักษาได้ใน Windows

ผลการทดสอบครั้งแรกของฉัน:

  • การสร้างระบบไฟล์ exFAT นั้นทำงานได้ดีใน Ubuntu (16.04 LTS (64 บิต) ระบบที่ติดตั้งพร้อมกับซีรีย์เคอร์เนลของ Xenial (4.4.0-93- ทั่วไป) จนถึงปัจจุบัน)
  • การเขียนและอ่านไฟล์ที่มีขนาดใหญ่กว่า 4 GiB ประสบความสำเร็จ Ubuntu และ exFAT ทำงานร่วมกันอย่างถูกต้องและรวดเร็ว (ฉันตรวจสอบด้วยmd5sumและความเร็วถูก จำกัด โดยระบบ USB)
  • Ubuntu และ Windows สามารถอ่านสิ่งที่สร้างขึ้นในระบบปฏิบัติการอื่น (ฉันไม่มี MacOS สำหรับการทดสอบและต้องพึ่งพารายงานจากคนอื่น ๆ )

ของ windows

ดังนั้นหากคุณต้องการเข้าถึงแบบเต็ม / อ่านจาก Ubuntu และ Windows ฉันขอแนะนำให้คุณใช้NTFSซึ่งมีการทำเจอร์นัลและมีการดีบั๊กและขัดเกลาเป็นระบบไฟล์ [กรรมสิทธิ์] สำหรับ Windows (นอกจากนี้ยังสามารถใช้exFAT )

  • ใน Ubuntu คุณสามารถใช้โปรแกรม GUI gpartedเพื่อสร้างระบบไฟล์ NTFS
  • ใน Windows มันเป็นเรื่องง่ายที่จะสร้างระบบไฟล์ NTFS และ exFAT

MacOS

ใน MacOS มันเป็นไปได้ที่จะใช้FAT32 , UDFและexFAT

นอกจากนี้คุณยังสามารถใช้ext4 กับการแก้ปัญหา, อูบุนตูเซิร์ฟเวอร์กับเซิร์ฟเวอร์ SSH ในเครื่องเสมือน (ฉันคิดว่าวิธีแก้ปัญหาแบบเดียวกันจะใช้ได้กับ Windows ด้วย) นี่อาจคุ้มค่าเมื่อคุณตั้งใจจะเข้าถึงไฟล์จำนวนมากผ่านทางไดรฟ์และระบบไฟล์ แต่อาจไม่ใช่กับ USB2 ขนาดเล็ก

ดูลิงค์นี้

การใช้ ext4 บน OS X Yosemite เป็นวิธีที่ยาว แต่ปลอดภัย


3
AFAIR Windows XP ไม่สามารถเขียนไปยังโวลุ่ม UDF ทุกวันนี้มันไม่ค่อยมีปัญหา แต่ก็ยังมีค่าควรสังเกตในกรณีนี้
gronostaj

2
macOS ติดตั้งทุกอย่างเป็น NTFS แบบอ่านอย่างเดียวโดยค่าเริ่มต้น (ฉันถือว่า Apple ไม่เชื่อว่าการสนับสนุนการเขียน NTFS นั้นมีความน่าเชื่อถือเพียงพอ)
gsnedders

1
@gsnedders ฉันคาดหวังว่าพวกเขาไม่เชื่อใน Windows
wizzwizz4

2
@ Sudodus โดยส่วนตัวฉันไม่มีปัญหากับทุกอย่างตั้งแต่การจัดการพาร์ติชัน NTFS อย่างหนักไปจนถึงการจัดการ Streams จาก Debian แต่ฉันขอขอบคุณที่ปลอดภัยกับข้อมูล นอกจากนี้ฉันมีการสำรองข้อมูลดังนั้นจึงไม่สำคัญว่าฉันจะสูญเสียข้อมูลเก่า (ฉันสามารถคัดลอกจากการสำรองข้อมูลได้)
wizzwizz4

2
หมายเหตุ: คุณสามารถใช้ exfat บน MacOS ได้โดยไม่มีปัญหา (สามารถฟอร์แมตไดรฟ์เป็น exfat) exfat ก็กลายเป็นค่าเริ่มต้นสำหรับแฟลชดิสก์ / การ์ดหน่วยความจำขนาดใหญ่เช่นกัน
SztupY

11

หลังจากมีปัญหาเชิง simular และไม่เต็มใจที่จะฟอร์แมทแท่ง USB ใหม่ฉันแค่ใช้ Archiver GUI ที่ทันสมัยมากขึ้นหรือน้อยลงทั้งหมด (เช่น File Roller, 7Zip เป็นต้น) หรือ CLIs อนุญาตให้แยกไฟล์เก็บถาวรได้ ตั้งค่าขีด จำกัด การแบ่งด้านล่างขอบเขต FAT (ที่ค่อนข้าง 4GB) สำหรับความเร็วคุณสามารถเลือกอัตราการบีบอัดต่ำแม้ "เก็บ" คือไม่บีบอัดเลย voila!


5

หากคุณสามารถเข้าถึงเครื่อง Windows คุณสามารถแปลงระบบไฟล์ USB-stick ของคุณได้โดยไม่ต้องฟอร์แมต คุณควรใช้บรรทัดคำสั่งของ Windows ดังต่อไปนี้: กดWin + R, พิมพ์cmd-> OK, ในหน้าต่างที่เปิดให้ป้อนคำสั่งconvert X: /FS:ntfsที่X:เป็นตัวอักษรสำหรับ USB-stick ที่ติดตั้งของคุณ ในเวลาน้อยกว่าหนึ่งนาทีก็พร้อม สนุก.


2
วิธีนี้มีประโยชน์ :-) แต่การแปลงระบบไฟล์อาจมีความเสี่ยงดังนั้นฉันขอแนะนำให้สำรองข้อมูลทุกอย่างที่สำคัญบนแท่ง USB ก่อนที่จะทำการแปลง คุณเคยใช้วิธีนี้หรือไม่? มันเก็บไฟล์หรือไม่ มันใช้งานได้กับ / จาก exfat หรือไม่
sudodus

1
ฉันใช้วิธีนี้หลายครั้งไฟล์ทั้งหมดสามารถอ่านได้หลังจากขั้นตอนนี้ ยูทิลิตี้นี้ทำงานเพื่อแปลงเป็น NTFS เท่านั้นไม่ใช่กลับกัน
M. Dm

2

การจัดรูปแบบใหม่หรือใช้การแบ่งเป็นตัวเลือกที่ยอดเยี่ยมหรือคุณสามารถลองใช้ zip เพื่อบีบอัดไฟล์เพิ่งรู้ว่ามีการบีบอัดไฟล์บางไฟล์อยู่แล้วดังนั้นการซิปไฟล์จะทำให้ไฟล์มีขนาดใหญ่ขึ้น (และคุณอาจสูญเสียความเป็นเจ้าของไฟล์เวลาประทับ ฯลฯ )

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