을 실행하여 얻은 file.img 파일이 있습니다 dd if=/dev/sda of=file.img
. 이는 두 개의 파티션 /dev/sda1 및 /dev/sda2가 있는 장치에서 수행됩니다. 동일한 이미지로 새 장치를 플래시하기 위해 네트워크 부팅을 사용하여 Alpine Linux를 부팅하고 네트워크에서 file.img를 복사한 후 실행했습니다 dd if=file.img of=/dev/sda
. 이 작업은 성공적으로 완료되었으며 재부팅하면 장치가 정상적으로 부팅되었습니다.
문제는 새 장치에 일부 파일을 추가하고 싶다는 것입니다. 물론, 나는 /dev/sda2(내가 뭔가를 추가하고 싶은 장치)를 마운트하고 거기에 뭔가를 추가할 것이라고 생각했습니다. 글쎄, 그렇게 간단하지는 않습니다. /dev/sda2가 때때로 누락되는 경우가 있습니다. dd 명령을 실행한 후 때때로(패턴이 관찰되지 않음) 파티션이 손실됩니다. 디스크 검사를 사용하면 fdisk -l /dev/sda
두 파티션이 모두 표시됩니다.
실행하면 partprobe /dev/sda; dmesg
항상 표시되므로(dmesg 명령은 이 정보를 인쇄함) sda: sda1 sda2
파티션이 있고 인식되고 있습니다. 그럼에도 불구하고 그들은 에 등장하지 않았습니다 /dev/
.
재미있는 점은 partprobe /dev/sda
달리기를 하면 문제가 해결될 때도 있고 그렇지 않을 때도 있다는 것입니다.
이 모든 광기 속에서도 장치를 다시 시작하면 항상 올바르게 부팅됩니다.
내가 무엇을 시도할 수 있는지 아는 사람이 있다면 아이디어에 대해 매우 감사하겠습니다.
감사해요.
추신: 나는 또한 달리기를 시도했습니다 partx -uv /dev/sda
. 이것은 나에게 다음과 같이 알려줍니다.
partition: none disk: /dev/sda, lower: 0, upper: 0
/dev/sda: partition table type 'dos' detected
/dev/sda: partition #1 added
/dev/sda: partition #2 added
하지만 여전히 /dev/sdaX에서 파티션을 찾을 수 없습니다.
답변1
이 문제에 대한 해결책을 찾는 사람은 다음을 수행할 수 있습니다.
- /dev 아래에 장치 항목을 만듭니다. /dev/sda2를 추가하는 예는 다음과 같습니다.
mknod -m 660 /dev/sda2 b 8 2
- 달리기를 해보세요
mdev -s
두 번째 명령은 내 삶을 더 쉽게 만들어주며 지금까지는 아무런 문제 없이 작동하고 있습니다. Mdev 매뉴얼 페이지:
Usage:
mdev [-vS]
-v Verbose
-S Log to syslog too
-s Scan /sys and populate /dev
-d Daemon, listen on netlink
-f Run in foreground