Tôi sẽ không viết về việc kiểm tra danh sách thẻ SD và thẻ SD tương thích của bạn, bởi vì rất có thể bạn đã kiểm tra tất cả những thứ này. Những gì tôi sắp viết là giải pháp lâu dài, cho phép khắc phục sự cố trong nụ và khắc phục sự cố vĩnh viễn .
Nếu bạn không muốn thẻ SD của mình bị hỏng khi bật công tắc nguồn, bạn phải sử dụng nó ở chế độ chỉ đọc. Nếu không có gì được ghi vào thẻ SD của bạn, nó sẽ không bị hỏng cho dù bạn có làm gì đi nữa.
Giải pháp rõ ràng (nhưng không hoạt động) sẽ là một nỗ lực để lật công tắc "chỉ đọc" ở bên cạnh thẻ SD, thật không may, điều này không hoạt động vì sơ đồ cho thấy công tắc này không được định tuyến và vị trí của nó thường bị bỏ qua.
Một cách tiếp cận khác, tinh tế hơn (nhưng hoạt động) sẽ là sửa đổi của bạn /etc/fstab
để gắn kết tất cả các phân vùng của bạn chỉ đọc. Hạn chế của phương pháp này là các bản ghi của bạn phải được ghi ở một nơi khác (thẻ nhớ USB, ổ đĩa RAM?) Và trong trường hợp ổ đĩa RAM, các bản ghi sẽ không tồn tại trong quá trình khởi động lại. Để làm điều này:
- Sao chép hình ảnh RPi vào thẻ SD của bạn bằng bất kỳ phương pháp nào bạn muốn.
- Khởi động từ SD và
raspi-config
sẽ tự động bắt đầu. Không "Mở rộng hệ thống tập tin", chỉ cần thiết lập múi giờ và cài đặt quốc tế của bạn.
Chạy sudo fdisk /dev/mmcblk0
, nhấn 'p' để in bảng phân vùng hiện tại. Sau đó nhập các lệnh sau:
n Create a new partition
[enter] Make a primary partition
[enter] Use the default number
[#] 1 greater than the end of mmcblk0p2
[enter] Expand to the end of the SD card
w Write the partition table and exit
Chỉnh sửa /etc/fstab
. Nó sẽ trông giống như sau:
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat ro 0 0
/dev/mmcblk0p2 / ext4 ro 0 0
/dev/mmcblk0p3 /home ext4 defaults,errors=remount-ro 0 1
none /var/run ramfs size=1M 0 0
none /var/log ramfs size=1M 0 0
Chạy sudo partprobe
để nhận ra phân vùng mới.
- Định dạng phân vùng mới của bạn với
sudo mkfs --type ext4 /dev/mmcblk0p3
.
- Khởi động lại.
Nếu vì lý do nào đó bạn cần thực hiện thay đổi cho hệ thống của mình, bạn có thể kết nối lại các phân vùng chỉ đọc với quyền truy cập ghi:
sudo mount -o remount,rw /dev/mmcblk0p2