Làm cách nào để sao chép tệp lớn hơn 4GB vào ổ flash USB?


53

Tôi đang cố sao chép tệp 6GB vào ổ flash USB nhưng nó sẽ không sao chép.


23
Ổ USB có được định dạng với FAT32 không? Hệ thống tệp đó không hỗ trợ các tệp lớn hơn 4GB. Bạn phải định dạng nó theo cách khác, ví dụ như NTFS. Coi chừng định dạng xóa tất cả dữ liệu trên ổ đĩa.
Chỉ huy Byte

14
Bạn có thể vui lòng đặt chi tiết hơn trong câu hỏi về "nó sẽ không sao chép" không? Bạn đã thử những lệnh nào? thông báo lỗi gì bạn nhận được? (Những điều này rất hữu ích trong trường hợp ai đó có cùng một vấn đề trong tương lai và đang tìm kiếm câu trả lời ...)
psmears

2
google cho "không thể sao chép các tệp lớn hơn 4GB" và bạn sẽ nhận được vô số câu trả lời trên stackexchange
phuclv

5
Cũng có thể hữu ích để bao gồm kích thước của USB
George Tian

3
@Nukeface Bạn có thể bao gồm một câu trả lời với hướng dẫn về cách làm điều đó không? Để lại một nửa câu trả lời như một bình luận thường có thể gây hại nhiều hơn là tốt. Cảm ơn.
Eliah Kagan

Câu trả lời:


108

Điều này là do giới hạn FAT32. Không thể lưu trữ các tệp lớn hơn 4GB trên ổ đĩa FAT32. Định dạng ổ đĩa flash là exFAT hoặc NTFS sẽ giải quyết vấn đề này.

CẢNH BÁO: Sao lưu dữ liệu của bạn. Định dạng sẽ xóa tất cả dữ liệu trên thiết bị của bạn.


20
BTW, định dạng ổ đĩa flash ext3cũng là một tùy chọn
Basile Starynkevitch

18
@BasileStarynkevitch có, nhưng nó không thể sử dụng được trên một số hệ điều hành độc quyền;)
Ruslan

11
@Ruslan: Tôi thứ hai này. Sử dụng ext3 / 4 trên Windows đau đớn hơn so với sử dụng exFat và NTFS trong Linux.
JIV

13
Mặc dù đó là một sáng tạo của Microsoft, có rất nhiều điều để nói về exFAT. Như những người khác đã lưu ý rằng nó được xử lý bởi cả ba hệ điều hành máy tính để bàn, do đó bạn sẽ có xu hướng tối đa hóa khả năng tương tác của mình. Ngoài ra, nó được thiết kế để sử dụng trên các ổ đĩa flash lớn. Trích dẫn: en.wikipedia.org/wiki/ExFAT Đặc biệt, vì nó có thể đánh dấu một tệp là liền kề, và do đó tránh phải chạm vào FAT, nó hoạt động cực kỳ hiệu quả trong trường hợp sử dụng OP: xử lý một tệp rất lớn.
thức

8
@dgnuff ý bạn là, cả ba hệ điều hành máy tính để bàn lớn :)
dn3s

91

Nếu bạn không muốn định dạng lại ổ USB của mình hoặc cần nó là FAT32, bạn chỉ cần chia tệp lớn của mình thành nhiều phần. Hầu hết các trình quản lý lưu trữ đi kèm với tùy chọn phân tách và cho dòng lệnh có split, ví dụ cho trường hợp của bạn:

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

Xem man splittài liệu đầy đủ. Điều này sẽ tạo ra các tập tin sau:

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

Kích thước tệp output.file.aakhớp chính xác với kích thước tệp tối đa của ổ USB được định dạng FAT32 của bạn, là 4 Gibibyte (GiB, không giống với Gigabyte GB) trừ đi 1 Byte .
Cảm ơn Gilles cho sự bổ sung quan trọng này.


Trước khi bạn có thể truy cập lại tệp, bạn cần hợp nhất các phần của nó trước. Trên các hệ thống Linux, bạn có thể làm như vậy với:

cat output.file.* > input.file

Nếu bạn sợ rằng điều này có thể sắp xếp các tệp được đọc không chính xác trong Bash, thì việc mở rộng ký tự đại diện có được đảm bảo theo thứ tự không?
Lệnh tương ứng trên các hệ thống Windows là:

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

Cùng với nhiều tiện ích GNU hữu ích khác splitcũng có thể được cài đặt trong Windows, hãy xem các tiện ích GNU cho Win32 .


2
Tôi đặt cược một nửa số lượt upvote tôi nhận được ở đây chỉ vì GiB so với GB. ;)
tráng miệng

2
Tôi đã nâng cấp splitngay cả khi không có sự phân biệt giữa GiB và GB. Nhưng tôi sẽ gửi một tùy viên cho điều đó ...
Zeiss Ikon

1
@dPlay Tôi hy vọng rằng sẽ giúp bạn có thêm khoảng 7.4% upvote.
Eliah Kagan

1
Tôi ủng hộ vì định dạng lại ổ đĩa để có thể di chuyển một tệp lớn là một câu trả lời khủng khiếp khi splittồn tại chính xác cho mục đích này và không bắt buộc ở đầu nhận. FAT32 là ngôn ngữ chung của các ổ USB vì một lý do.
Monty Harder

Tôi nghĩ rằng -b 4095Msẽ đơn giản hơn nhiều và đạt được như bclệnh. Trong Bash người ta cũng có thể sử dụng số học shell : $(((4<<30)-1)).
David Foerster

39

Vấn đề: FAT32 có giới hạn 4GiB cho kích thước tệp

Các kịch bản và hệ thống tệp khác nhau được kiểm tra để tìm giải pháp thay thế có tính đến

  • vấn đề kích thước tập tin
  • Những hệ điều hành nào nên đọc / ghi ổ USB

Chỉ Linux

Nếu bạn có ý định chỉ sử dụng ổ đĩa với Ubuntu (và các bản phân phối linux khác), thì nên sử dụng hệ thống tệp linux , ví dụ như ext4 . Bằng cách này, bạn có thể có tốc độ đọc / ghi cao hơn (tùy thuộc vào quá trình nào là nút cổ chai) và bạn sẽ có được tính linh hoạt cao hơn về quyền sở hữu và quyền.

  • Bạn có thể sử dụng chương trình GUI gpartedđể tạo hệ thống tệp ext4 .

Tương thích hoàn toàn với Linux, Windows và MacOS

Windows có vấn đề với hệ thống tệp linux và tôi nghĩ MacOS có vấn đề với cả hệ thống tệp linux và NTFS . Vì vậy, nếu bạn muốn 'tương thích hoàn toàn' để đọc và viết, chỉ còn lại FAT32 , UDFexFAT .

  • FAT32 có giới hạn 4GiB (gibibyte, cơ sở 2) cho kích thước tệp.

    • Có thể được tạo ra trong cả ba hệ điều hành.
    • Duy trì (sửa chữa) trong Windows, nếu bạn có quyền truy cập vào Windows.
    • Có thể được duy trì trong Ubuntu với dosfsck, đi kèm với gói dosfstools,

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

      Trong đó x là ký tự ổ đĩa và n là số phân vùng, ví dụ /dev/sdb1cho phân vùng đầu tiên trong ổ đĩa b.

  • UDF có thể thiếu các công cụ để sửa chữa hệ thống tập tin,

    • FOSS
    • Có thể tìm thấy các công cụ sửa chữa trong Windows thông qua liên kết này: công cụ fsck cho UDF và có một số công cụ có sẵn dưới dạng mã nguồn
    • Có thể được tạo trong Ubuntu
    • Tương thích với các liên kết kiểu linux.
    • Tương thích với quyền kiểu linux. Bạn có thể tạo và sửa đổi quyền của các tệp riêng lẻ (điều này là không thể với FAT và NTFS).
    • Phân vùng UDF sẽ không được nhắc để định dạng bởi Windows 10 (trong khi hệ thống tệp linux ext4 bị ảnh hưởng và có thể bị phá hủy do nhầm lẫn).
    • Cách tạo và sử dụng UDF: Sử dụng UDF như một sự kế thừa của FAT cho các thanh USB

      Vì vậy, để sử dụng nó, giả sử thanh USB của bạn là /dev/sdx:

      1. Cài đặt gói udftools

        sudo apt-get install udftools
        
      2. Tạo một bảng phân vùng và một phân vùng có gpartedhoặcgnome-disks

      3. Lau sạch mibibyte đầu tiên của phân vùng mục tiêu với rủi ro dd(kiểm tra kỹ dòng lệnh!)

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

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

      Xóa mibibyte đầu tiên của phân vùng để xóa thông tin hệ thống tệp trước đó (hoặc dữ liệu còn lại khác), để ngăn USB của bạn không bị phát hiện dưới dạng FAT sau khi được định dạng bằng UDF.

      Điều -b 512này là để buộc kích thước khối hệ thống tệp bằng với kích thước khối vật lý của thanh USB, theo yêu cầu của thông số UDF. Điều chỉnh nó nếu bạn may mắn có một thanh USB với kích thước khối phù hợp hơn.

      Sau đó, thẻ USB của bạn sẽ có thể sử dụng để đọc và ghi với GNU / Linux và các hệ điều hành miễn phí khác, nhưng cũng với các phiên bản Windows hiện tại (chỉ đọc với phiên bản XP lỗi thời) và với MacOS.

  • exFAT là một lựa chọn khác. Nó là mới so với FAT32 UDF và được cho là hoạt động tốt

    • tự nhiên với Windows
    • với MacOS
    • với Linux

Tìm hiểu thêm về exFAT

Tôi đã bắt đầu thử nghiệm exFAT trong Ubuntu. Tôi dự định chỉnh sửa câu trả lời này, khi tôi có nhiều kinh nghiệm sử dụng nó. Hãy để chúng tôi bắt đầu với các liên kết sau đây ,

dòng lệnh này để cài đặt hỗ trợ [đọc / ghi] cho exFAT trong Ubuntu

sudo apt-get install exfat-utils exfat-fuse
  • Có thể được tạo trong Windows và MacOS và trong Linux với dòng lệnh sau

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

    nơi xlà ký tự ổ đĩa và ilà số phân vùng, ví dụ /dev/sdb1.

  • Có thể được duy trì trong Windows.

Kết quả kiểm tra đầu tiên của tôi :

  • Tạo hệ thống tệp exFAT hoạt động tốt trong Ubuntu (16.04 LTS (64 bit), hệ thống được cài đặt với chuỗi nhân Xenial (4.4.0-93-generic), cập nhật).
  • Viết và đọc một tệp lớn hơn 4 GiB đã thành công. Ubuntu và exFAT hợp tác chính xác và nhanh chóng (tôi đã kiểm tra md5sumvà tốc độ bị giới hạn bởi hệ thống USB).
  • Ubuntu và Windows có thể đọc những gì được tạo ra trong hệ điều hành khác. (Tôi không có MacOS để thử nghiệm và phải dựa vào báo cáo từ người khác.)

các cửa sổ

Vì vậy, nếu bạn muốn truy cập đọc / ghi đầy đủ từ Ubuntu và Windows, tôi khuyên bạn nên sử dụng NTFS , có ghi nhật ký và rất được gỡ lỗi và đánh bóng là hệ thống tệp [độc quyền] cho Windows. (Cũng có thể sử dụng exFAT .)

  • Trong Ubuntu, bạn có thể sử dụng chương trình GUI gpartedđể tạo một hệ thống tệp NTFS.
  • Trong Windows, thật dễ dàng để tạo các hệ thống tệp NTFS và exFAT (chúng là bản địa).

Hệ điều hành Mac

Trong MacOS, có thể sử dụng FAT32 , UDFexFAT .

Bạn cũng có thể sử dụng ext4 với một cách giải quyết, Máy chủ Ubuntu với máy chủ SSH trong máy ảo . (Tôi nghĩ cách giải quyết tương tự cũng sẽ hoạt động với Windows.) Điều này có thể đáng giá khi bạn có ý định truy cập nhiều tệp qua ổ đĩa và hệ thống tệp của nó, nhưng có lẽ không phải với một ổ USB2 nhỏ.

Xem liên kết này,

Sử dụng ext4 trên OS X Yosemite, cách lâu dài nhưng an toàn


3
AFAIR Windows XP không thể ghi vào khối UDF. Ngày nay nó không còn là vấn đề nữa nhưng vẫn đáng chú ý, chỉ trong trường hợp.
gronostaj

2
macOS gắn kết mọi thứ dưới dạng NTFS chỉ đọc theo mặc định (tôi cho rằng Apple không tin rằng hỗ trợ ghi NTFS là đủ đáng tin cậy.)
gsnedder

1
@ssnedder Tôi hy vọng họ không tin vào Windows.
wizzwizz4

2
@sudodus Cá nhân tôi không gặp vấn đề gì với mọi thứ từ quản lý phân vùng NTFS nặng đến thao tác Luồng từ Debian, nhưng tôi đánh giá cao việc an toàn với dữ liệu. Ngoài ra, tôi có một bản sao lưu , vì vậy sẽ không có vấn đề gì nếu tôi mất dữ liệu cũ (tôi chỉ có thể sao chép nó từ bản sao lưu).
wizzwizz4

2
Lưu ý: bạn có thể sử dụng exfat trên MacOS mà không gặp vấn đề gì (thậm chí nó có thể định dạng ổ đĩa là exfat). exfat cũng đang trở thành mặc định cho các đĩa flash / thẻ nhớ lớn hơn.
SztupY

11

Có một vấn đề tương tự và không muốn định dạng lại thanh USB, tôi chỉ sử dụng một bộ lưu trữ. Nhiều hơn hoặc ít hơn tất cả các GUI hiện đại (như Con lăn tệp, 7Zip, v.v.) hoặc CLI cho phép chia nhỏ tệp lưu trữ. Đặt giới hạn phân chia bên dưới ranh giới FAT (có phần 4GB), để đạt tốc độ, bạn có thể chọn tốc độ nén thấp, thậm chí là "lưu trữ", tức là không nén chút nào, một voila!


5

Nếu bạn có quyền truy cập vào máy Windows, bạn có thể chuyển đổi hệ thống tệp dính USB mà không cần định dạng. Bạn nên sử dụng dòng lệnh Windows như sau: nhấn Win + R, gõ cmd-> OK, trong cửa sổ mở, nhập lệnh convert X: /FS:ntfstrong đó X:chữ cái cho thanh USB được gắn của bạn. Trong vòng chưa đầy một phút, nó đã sẵn sàng. Thưởng thức.


2
Phương pháp này có thể hữu ích :-) Nhưng việc chuyển đổi một hệ thống tệp có thể có rủi ro, vì vậy tôi khuyên bạn nên sao lưu mọi thứ quan trọng trên thanh USB trước khi chuyển đổi. Nhân tiện, bạn đã sử dụng phương pháp này? Nó giữ các tập tin? Nó cũng hoạt động đến / từ exfat?
sudodus

1
Tôi đã sử dụng phương pháp này nhiều lần, tất cả các tệp đều có thể đọc được sau thủ tục này. Tiện ích này chỉ hoạt động để chuyển đổi sang NTFS chứ không phải ngược lại.
M. Đm.

2

Định dạng lại hoặc sử dụng phân tách là các tùy chọn tuyệt vời hoặc bạn có thể thử sử dụng zip để nén tệp, chỉ cần biết rằng một số tệp đã được nén, do đó, nén chúng sẽ làm cho chúng lớn hơn. (Ngoài ra, bạn có thể mất quyền sở hữu tệp, dấu thời gian, v.v.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.