LINUX.ORG.RU

Восстановление системы с аварийного носителя


0

1

Всем привет! Возникла такая проблема - необходимо с помощью команды cat восстановить систему. У меня есть диск с системой (sdb1) и чистый диск на который эту систему надо скопировать (sda1). Так вот я прочитал что можно полностью скопировать данные с sdb1 на sda1 выполнив команду «cat /dev/sdb1 > /dev/sda1». После чего необходимо нажать комбинацию ctrl+d. Я проделал все как описано выше, но с внешнего носителя система отказывается загружаться. Подскажите в чем проблема. До этого стояла Ubuntu и возможно от нее остался загрузчик который просто не может найти системные файлы и поэтому не удается ничего запустить, или же это загрузчик копируемый системы не может найти файлы ведь до этого они располагались в sdb1 а сейчас в sda1. Кто знает помогите пожалуйста. Я пока в линуксе новичок.

Надо настроить загрузку в биосе и обновить груб на загружаемом вами диске.

anonymous
()
Ответ на: комментарий от olibjerd

мне нужно именно через cat. А через dd я както пробовал делать бекап системы но ничего из этого толком не вышло.

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

мне нужно именно через cat. А через dd я както пробовал делать бекап системы но ничего из этого толком не вышло.

С таким подходом у тебя из через cat ничего не выйдет

Так вот я прочитал что можно полностью скопировать данные с sdb1 на sda1 выполнив команду «cat /dev/sdb1 > /dev/sda1». После чего необходимо нажать комбинацию ctrl+d. Я проделал все как описано выше, но с внешнего носителя система отказывается загружаться.

Потому что загрузчик расположен вне sdb1 ( в MBR и в «первом секторе» sdb )

router ★★★★★
()

Так вот я прочитал что можно полностью скопировать данные с sdb1 на sda1 выполнив команду «cat /dev/sdb1 > /dev/sda1»

Размер sdb1 не должен превышать sda1.

После чего необходимо нажать комбинацию ctrl+d.

Нет, нужно дождаться окончания работы команды.

Я проделал все как описано выше, но с внешнего носителя система отказывается загружаться.

С какими симптомами?

Вам потребуется поправить /etc/fstab на sda1, а также установить загрузчик в MBR носителя.

AITap ★★★★★
()

загрузиться с live cd\usb\рабочей системы после по очереди

sudo -s
cfdisk /dev/sda - там выбрать sda1 загрузочным(поставить флаг bootable) затем write и выход
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt bash
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
после успешного выполнения всех пунктов - ребут и всё должно взлететь

smilessss ★★★★★
()
Ответ на: комментарий от AITap

я сейчас пробовал восстановить загрузчик. примонтировал диск и вбил команду «grub-install --root-directory=/mnt /dev/sda». после этого загрузка вроде как начинается но останавливается на «mount root»

stoperviy
() автор топика
Ответ на: комментарий от AITap

можно поподробней как это сделать. диск монтируется только в консоли. так к нему доступа почему то нет. пишет ошибку и все. через консоль могу примонтировать. что дальше?

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

Открываете etc/fstab и убеждаетесь, что в нём указаны правильные пути ко всем устройствам. Аналогично с boot/grub/grub.cfg или boot/grub/menu.lst.

AITap ★★★★★
()
Ответ на: комментарий от stoperviy

в добавок ко всему нужно ещё раз опять загрузиться с live cd\usb\рабочей системы после по очереди

sudo -s
mount /dev/sda1 /mnt
cd /mnt/etc
nano /etc/fstab

и найти там /dev/sd* и заменить на sda1 чтобы было примерно так :

/dev/sda1  	  /	  ext4      		 defaults 	 1	1
если файловая система на корне ext4.

ещё можно посмотреть что в /boot/grub/grub.cfg
cd /mnt/boot/grub
nano grub.cfg
menuentry 'linux'
..
	set root='hd0,msdos1'
	linux	/boot/vmlinuz-linux root=UUID=тут_твой_UUID_со множеством цифр ro  acpi_sleep=s3_bios radeon.pcie_gen2=1 acpi_enforce_resources=auto
	initrd	/boot/initramfs-linux.img
}

важно чтобы именно msdos1 было т.к. грузится у тебя вроде с первого раздела - если нет то попробовать разные варианты

smilessss ★★★★★
()
Ответ на: комментарий от smilessss

опции

acpi_sleep=s3_bios radeon.pcie_gen2=1 acpi_enforce_resources=auto
можно выкинуть
сам конфиг - это просто кусок, пример , копипастить его не нужно, просто сравнить и обратить внимание на set root='hd0,msdos1'

smilessss ★★★★★
()
Ответ на: комментарий от AITap

мне удалось примонтировать нормально хард. но теперь проблема в том что я не могу изменить файл etc/fstab

stoperviy
() автор топика
Ответ на: комментарий от smilessss

я запустился с live CD открыл этот файл с помощью текстового редактора. сохранить изменения не получается.

stoperviy
() автор топика
Ответ на: комментарий от smilessss

с диска которого система и устанавливалась. а блокнот вообще не может сохранить изменения в файле можно только сохранить куда нибуть еще. и если копирнуть файл изменить и перетащить обратно тоже не выходит. помню кажется в блокное толи режим какойто можно было запустить или вообще редактор другой был там все сохранялось

stoperviy
() автор топика
Ответ на: комментарий от olibjerd

Могу ошибаться, но для этих целей лучше использовать dd

Именно так. Хотябы потому, что cat гарантированно свалится на ошибках, если на носителе плохие сектора, а у dd соответствующие ключи есть для игнорирования.

AS ★★★★★
()
Ответ на: комментарий от AS

дело в том что я пишу курсовую по теме «восстановление системы с аварийного носителя с помощью команды cat». поэтому dd никак не могу использовать

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

Запустите блокнот с правами суперпользователя (при помощи su, sudo, gksudo, kdesu или аналогичной программы).

AITap ★★★★★
()
Ответ на: комментарий от AITap

запустил изменил с sdb1 на sda1 ща посмотрю что плучилось

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

Логично. После редактирования fstab нужно либо запустить автоматику для перегенерирования конфига загрузчика и initramfs (update-grub, update-initramfs -u -k all - в Debian), либо сделать это вручную. Продолжайте редактировать конфиг загрузчика.

AITap ★★★★★
()
Ответ на: комментарий от AITap

там при загрузке вылетают строки в которых прописано hd 0,0

или что то подобное получается мне их нужно изменить в загрузчике? а как узнать какой номер у моего внешнего харда

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

То же самое: путь к корневому устройству в параметрах ядра.

У того жёсткого диска, с которого загружается BIOS, номер (для GRUB1) всегда равен 0.

Какой дистрибутив-то восстанавливаете? Вдруг там ещё initramfs перегенерировать нужно.

AITap ★★★★★
()
Последнее исправление: AITap (всего исправлений: 1)
Ответ на: комментарий от vasya_pupkin

если я попробую с убунту эту херь провернуть выйдет? может кто пробовал. мне на систему щас пох. мне главное проделать этот эксперимент. и чтоб после этого система работала

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

дело в том что я пишу курсовую по теме «восстановление системы с аварийного
носителя с помощью команды cat». поэтому dd никак не могу использовать

Какой-то сферический курсовой. Делать так можно, но не нужно. Главную проблему с cat я назвал. С другой стороны, курсовой из cat /dev/sda > /dev/sdb, сам по себе, странный курсовой... Ещё не надо забывать, что основное предназначение cat - работа с текстовой информацией. Если где-то вылезет ошибка при работе с бинарной информацией, это не должно быть особенной неожиданностью, как мне кажется.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

да если б была возможность другим способом это все проделать. но нужно именно cat препод сказал что делается все максимум 15 минут

stoperviy
() автор топика
Ответ на: комментарий от AS

а кстати вот если я использую команду cat (cat /dev/sda1 > sdb1) после завершения копирования данных чтото должно указывать на это? может сообщение какоето или что? ато я нажимал ctrl+d после того как прекращались всяческие обращения к внешнему харду

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

Препод лукавит: всё зависит от характера повреждений. Или перепод не так понят: скопировать систему с диска на диск - 10 секунд на набор команды и ждать, в зависимости от объёма.

Или повреждения не абстрактные, а выдан специально hdd, степень повреждения данных на котором известна преподавателю ?

AS ★★★★★
()
Ответ на: комментарий от stoperviy

после завершения копирования данных чтото должно указывать на это?

Как у любой другой команды - приглашение командной строки.

AS ★★★★★
()
Ответ на: комментарий от AS

препод ниче не лукавит мне он никаких дисков не выдавал. все самому делать надо и диски добывать

stoperviy
() автор топика
Ответ на: комментарий от stoperviy

ну вот щас провел туже операци дождался окончания нихера не включается

Найди отличие. Я команду написал совсем иначе (только осторожно: если на целевом hdd нужные данные есть, делать так не следует).

препод ниче не лукавит мне он никаких дисков не выдавал.

Тогда лукавит. Если повреждение в виде плохих секторов, это не 15 минут - раз, cat противопоказан - два.

а три - это только чтобы копию сделать, чтобы попыток восстановить было больше одной. Восстанавливать, потом, другими средствами надо.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

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

stoperviy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.