Итак, у меня есть удаленный компьютер с установленной службой SSH, полностью доступной для меня. У меня нет физического доступа к машине до завтра, но я не хочу ждать.
Мне нужно создать образ жесткого диска, но проблема в том, что я загружаюсь в раздел, который пытаюсь создать. Итак, единственный вариант, о котором я могу думать, - это создать небольшой раздел, перезагрузиться, извлечь небольшой дистрибутив Linux в этот раздел, изменить настройки Grub на автоматическую загрузку в раздел, chroot и изменить пароль root для установки, перезагрузить, молитесь, ssh обратно в коробку (теперь запускается прямая установка), создайте образ основного раздела, измените раздел Grub по умолчанию и перезагрузитесь.
Кто-нибудь знает дистрибутив или другое решение для получения изображения?
Если вы используете систему Debian, вы можете использовать debootstrap для создания минимальной установки debian в дополнительном разделе. Все остальное уже в вашем вопросе, хотя я бы добавил: «Установите ssh-сервер и убедитесь, что он запускается при загрузке» после части «chroot».
Также убедитесь, что сеть запускается при минимальной установке.
Есть несколько способов сделать это:
Скопируйте содержимое небольшого дистрибутива, такого как puppy, tinycore, knopix и т. Д., В другой раздел. Настройте демон ssh в небольшом дистрибутиве для запуска сети и sshd при загрузке, измените конфигурацию grub, чтобы запустить новый дистрибутив после перезагрузки, перезагрузка. Затем вы можете сделать изображение любым из нижеприведенных способов.
Используйте cpio, tar или rsync, чтобы сделать копию файловой системы. Он дает вам не изображение, а копию содержимого. Это может быть все, что вам нужно, но если вы не видите других вариантов.
Используйте дамп для создания образа. Если для используемой файловой системы есть дамп fs, то dump дает вам образ файловой системы, который можно восстановить в любой раздел, достаточно большой для хранения всех данных. Есть утилиты дампа для xfs и ext2. Вы также можете использовать дамп ext2 для файловых систем ext3. Чтобы создать законченный образ, вы запустите что-то вроде dump -0f - /mountpoint/or/dev_entry > image_file
Используйте dd, чтобы создать образ работающего диска. Если вы используете dd, вам может потребоваться запустить fsck для образа перед его использованием. Я использовал метод dd против множества различных вариантов Unix. Большой недостаток в том, что он копирует каждый блок, даже если нет данных. Возможно, вы захотите поэкспериментировать с размерами блоков перед копированием, но обычно разумной отправной точкой является 16M. dd if=/dev/sda1 bs=$((16 * 1024 * 1024))> image_file
это пример.
Если у вас есть достаточно большой раздел, вы можете сделать копию локально. В противном случае вам нужно будет скопировать его по сети, что может занять очень много времени. Сжатие может помочь сократить время работы сети, если пропускная способность является узким местом. Передать вывод через gzip в ssh можно, заменив "> image_file"
с участием "| gzip | ssh user@remote_host '> /path/to/file.gz'"
Вы можете сделать это с помощью Debian. Я считаю, что он поддерживает так называемую установку chroot. Кроме того, я ничего не могу поделать, так как слышал об этом только от друга.
Команда dd может помочь, небольшой дистрибутив будет tinycore
Зачем нужна копия физического диска? почему не просто "нормальный" экземпляр? как корень:
mount / /mnt/copy -obind
cd /mnt/copy
tar cvpzf /mnt/backup-disk/backup.tar.gz . #that's a dot
и просто постарайтесь ничего не использовать. Вы можете заменить z на j для bzip2 или --lzma, если у вас достаточно недавнего tar.