Файл выходного изображения DD больше, чем исходный раздел, и DD не хватает места на целевом разделе (где создается изображение), несмотря на то, что он больше, чем исходный раздел.
Я пытаюсь скопировать раздел в файл другого раздела на том же диске. Целевой раздел немного больше, чем входной раздел. Оба являются разделами ext3
.
Работает с OpenSuse-Rescue LIVE CD. Yast показывает, что входной раздел (sdb1
) равен 62,5 ГиБ, а выходной sdb2
- 62,85 ГиБ.
Thunar показывает, что входной sdb1
составляет 65,9 ГБ, а выходной sdb2
- 66,2 ГБ, в то время как выходной файл изображения dd
также составляет 66,2, так что, очевидно, максимальное значение sdb2
.
Вот консоль:
(sdb1
был размонтирован, пробовал dd
несколько раз)
linux:# dd if=/dev/sdb1 of=RR.image bs=4096
dd: error writing ‘RR.image’: No space left on device
16156459+0 records in
16156458+0 records out
66176851968 bytes (66 GB) copied, 2648.89 s, 25.0 MB/s
Дополнительная информация по запросу:
И снова: я вижу разницу в размере исходного раздела sdb1
и файла изображения DD RR.image
созданного из него. Этот файл находится на sdb2
.
Здесь все еще есть что-то неясное: я запускаю DD AS ROOT, так что зарезервированное пространство доступно для записи, верно? Целевое значение sdb2
составляет 62,85 ГиБ, а общее количество байтов для изображения, как вы сказали, составляет около 61,63 ГиБ. Вот также вывод команд df
и POSIXLY_CORRECT=1 df
:
Система теперь system-rescue-cd
root@sysresccd /root % df
Filesystem 1K-blocks Used Available Use% Mounted on
…
/dev/sdb1 64376668 7086884 56241208 12% /media/Data1
/dev/sdb2 64742212 64742212 0 100% /media/Data2
/dev/sdb3 5236728 4785720 451008 92% /usr/local
root@sysresccd /root % POSIXLY_CORRECT=1 df /dev/sdb1
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sdb1 128753336 14173768 112482416 12% /media/Data1
root@sysresccd /root % POSIXLY_CORRECT=1 df /dev/sdb2
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sdb2 129484424 129484424 0 100% /media/Data2
Числа точно такие же, как в простом df
если мы разделим их на 2. 1024b/512b = 2 - это делитель.
sdb1
меньше, чемsdb2
. 100% -ное использование наsdb2
теперь происходит из-за файла образа DD, который заполнил раздел. Это должен быть единственный файл на нем сейчас.Сам файл изображения составляет 66 176 851 968 байт по состоянию на DD (во время выполнения) и Thunar. Разделенные на 1024 байта, мы получим 64625832 правильных K-блоков? Таким образом, он все еще меньше, чем
df
о котором сообщалось дляsdb2
более чем на 116380 КБ, и он БОЛЬШЕ, чемsdb1
(ИСТОЧНИК), но он максимально увеличивает разделsdb2
.
Вопрос в том, что там, чтобы занять это место на sdb2
?
Но самое главное и интересное это:
Почему целевой файл больше исходного раздела, из которого его создал dd
? Что значит для меня: я не могу написать это обратно.
sdb1
(64376668K) RR.image
(64625832K)
А также
sdb1
(64376668 1K-блоков) RR.image
(64625832 1K-блоков) sdb2
(64742212 1K-блоков)
(Я надеюсь, что все было рассчитано правильно ...)
Теперь я проверил блоки, которые зарезервированы для ROOT. Я нашел эту команду для выполнения:
root@sysresccd /root % dumpe2fs -h /dev/sdb1 2> /dev/null | awk -F ':' '{ if($1 == "Reserved block count") { rescnt=$2 } } { if($1 == "Block count") { blkcnt=$2 } } END { print "Reserved blocks: "(rescnt/blkcnt)*100"%" }'
Reserved blocks: 1.6%
root@sysresccd /root % dumpe2fs -h /dev/sdb2 2> /dev/null | awk -F ':' '{ if($1 == "Reserved block count") { rescnt=$2 } } { if($1 == "Block count") { blkcnt=$2 } } END { print "Reserved blocks: "(rescnt/blkcnt)*100"%" }'
Reserved blocks: 1.59999%
Таким образом, процент, зарезервированный для ROOT, также одинаков для обоих разделов, если это имеет значение.
Вот вывод для gdisk
:
root@sysresccd /root % gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Disk /dev/sdb: 312581808 sectors, 149.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): DCF8AFC4-11CA-46C5-AB7A-4818336EBCA3
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 312581774
Partitions will be aligned on 2048-sector boundaries
Total free space is 7789 sectors (3.8 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 131074047 62.5 GiB 8300 Linux filesystem
2 131074048 262889471 62.9 GiB 8300 Linux filesystem
3 302086144 312580095 5.0 GiB 0700 Microsoft basic data
5 262891520 293771263 14.7 GiB 8300 Linux filesystem
6 293773312 302086143 4.0 GiB 8200 Linux swap
Итак, каков реальный размер sdb1
?
Разве sdb2
(N2) не больше, чем sdb1
(N1)? Так ПОЧЕМУ файл изображения растет больше, чем sdb2
(N2)? Если я отключу место, отведенное для root, на sdb2
, то будет ли оно там соответствовать?