Đây có phải là cách OK để chuyển thẻ SD 16 GB của tôi sang thẻ SD 8GB (dd đơn giản) không?


7

FWIW, cái này đang chạy trên bản cài đặt Arch Linux ARM khởi động từ một chiếc SATA, nơi tôi cắm thẻ SD từ RPi. Thẻ 16GB ban đầu được chụp từ Windows bằng hình ảnh Debian. Tôi đã sử dụng thẻ SD mà tôi tình cờ có trong tay, nhưng tôi không muốn giữ thẻ SD cụ thể đó trong RPi nữa:

Disk /dev/mmcblk0: 16.1 GB, 16134438912 bytes
4 heads, 32 sectors/track, 246192 cylinders, total 31512576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ee283

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      155647       76800    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          157696     3414015     1628160   83  Linux
/dev/mmcblk0p3         3416064     3807231      195584   82  Linux swap / Solaris

Vì vậy, sau đó tôi chụp ảnh đĩa

$ dd if=/dev/mmcblk0 of=/backup/rpiboot.bin bs=1M
15387+0 records in
15387+0 records out
16134438912 bytes (16 GB) copied, 1745.67 s, 9.2 MB/s

Tôi đã trao đổi trong thẻ SD 8GB, đây là fdisk của thẻ SD 8GB trước đây dd:

Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
81 heads, 10 sectors/track, 19165 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192    15523839     7757824    b  W95 FAT32

Tôi đã ghi hình ảnh vào ổ 8GB (lưu ý thông báo "không còn chỗ trống trên thiết bị")

$ dd of=/dev/mmcblk0 if=/backup/rpiboot.bin bs=1M
dd: writing ‘/dev/mmcblk0’: No space left on device
7581+0 records in
7580+0 records out
7948206080 bytes (7.9 GB) copied, 1802.52 s, 4.4 MB/s

fdisksau dd:

Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 32 sectors/track, 121280 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ee283

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      155647       76800    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          157696     3414015     1628160   83  Linux
/dev/mmcblk0p3         3416064     3807231      195584   82  Linux swap / Solaris

Các phân vùng đều giống nhau.

Giày RPi và mọi thứ có vẻ ổn.

Vì vậy, tôi phỏng đoán rằng vì hình ảnh chứng khoán chỉ là hình ảnh 2 GB và tôi không bao giờ thay đổi kích thước của nó để sử dụng hết 16 GB, nên nó có thể sao chép nó và sau đó ghi 8GB đầu tiên vào ổ đĩa mới.

Vì vậy, tôi có thể thấy bất kỳ vấn đề nào với thẻ SD mới này do cách tôi nhân bản nó không? Có cách nào tốt hơn để xử lý việc này?


Tôi sẽ không đề xuất phương pháp này nhưng bạn sẽ ổn thôi. Phương pháp này hoạt động vì bạn không thay đổi kích thước đĩa và vì các phân vùng hiện có được đặt ở đầu thẻ.
Steve Robillard

Câu trả lời:


8

Có, điều này là tốt bởi vì như bạn đoán, chỉ có 2GB đầu tiên có dữ liệu thực tế. Phần còn lại của không gian (14GB gốc hoặc 6GB hiện tại) không được sử dụng, vì vậy không có vấn đề gì ở đó hay không.

Nếu bạn gặp khó khăn trong việc di chuyển nó, bạn có thể phóng to phân vùng chính bằng fdisk, định dạng và sử dụng cp -ađể sao chép các tệp từ phân vùng cũ (1.6GB) sang phân vùng mới, lớn hơn. Không giống như các hệ điều hành khác, Linux không quan tâm đặc biệt đến cách các tệp được sắp xếp trong hệ thống tệp, miễn là bạn bảo toàn các thuộc tính tệp (đó là cp -a) thì đó là tất cả những gì bạn cần để chuyển cài đặt Linux từ phân vùng / thiết bị này sang phân vùng khác.

Ngoài ra, bạn có thể tạo thêm một phân vùng trong không gian chưa sử dụng và gắn kết nó vào /home, cho phép bạn lưu trữ nhiều dữ liệu trong thư mục chính của bạn mà không ảnh hưởng đến không gian được sử dụng bởi hệ điều hành lõi.


Câu trả lời tốt đẹp cung cấp cải tiến tốt. +1
Jivings
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.