Назад | Перейти на главную страницу

Восстановить поврежденную таблицу разделов в аварийном режиме без команды fdisk

Когда я управляю VPS, я использовал fdisk настроить перегородки. Но когда я перезагружался, сервер жаловался, что block count 2780624 exceeds size of device (2441472 blocks) и вошел emergency mode.

Я сделал резервную копию раздела, но в аварийном режиме не было fdisk команда восстановления разделов.

В настоящее время я мог либо войти в аварийный терминал, либо до того, как он войдет в терминал grub через VNC. В аварийном режиме доступны следующие команды: Скриншот команд / bin, Скриншот команд / sbin

Я впервые сталкиваюсь с такой проблемой, поэтому, если вам понадобится дополнительная информация, я предоставлю ее как можно скорее.

Редактировать:

Редактировать: Я обнаружил, что моментальный снимок сервера можно захватить и загрузить. Легче ли восстановить данные локально?

Если действительно важно восстановить эти данные, можно также использовать vi в качестве шестнадцатеричного редактора и исправить с его помощью таблицу разделов. Это будет непросто и требует (полностью) понимания двоичного формата MBR и его раздела таблицы разделов.

Даже при использовании fdisk вам понадобится структура разделов, которая была у вас раньше. Поскольку вы не указали используемый вами дистрибутив Linux, мы можем только догадываться: некоторые возможности:

Вероятно, существуют другие, о которых я не знаю. Рядом: fdisk обычно находится в / sbin, поэтому должен быть доступным. Вы проверили свою среду PATH?

И если ваш провайдер VPS не предлагает среду спасения с соответствующими инструментами, вам следует подумать о смене провайдера ...

Основываясь на опубликованной информации, я не могу найти решение, если ваша проблема действительно связана с таблицей разделов.

Вы можете вызвать сеть (есть ip и dhclient), но нет инструмента для получения чего-либо из Интернета или другого сервера.

Тем не менее я сомневаюсь, что fdisk, показанный на вашем скриншоте, - это то, что сохраняется, поскольку блоки указывают, что sda2 должен быть в пределах диска (за исключением того, что вы каким-то образом уменьшили свой диск). Чтобы разобраться в этом подробнее, было бы полезно увидеть вывод dmesg & mount. Обычно / монтируется на этапе initrd на /sysroot когда CentOS загружается, и с chroot внутри initrd часто можно использовать утилиты на корневом диске для целей восстановления. Тем не менее, чтобы продвинуться вперед, потребуется смонтировать корневой раздел.

Если начальные секторы раздела в таблице разделов верны, это возможно.