LINUX.ORG.RU

Запорол ext4

 ,


0

2

Ну как запорол. Она монтируется, но только с явным указанием типа ФС (-t ext4). Основная проблема в том что blkid больше не выдаёт UUID для /dev/sda2

[root@sysrescue ~]# mount /dev/sda2 /mnt/sda2
mount: /mnt/sda2: more filesystems detected on /dev/sda2; use -t <type> or wipefs(8).

root@sysrescue ~]# wipefs /dev/sda2
DEVICE OFFSET TYPE UUID                                 LABEL
sda2   0x36   vfat                                      
sda2   0x0    vfat                                      
sda2   0x1fe  vfat                                      
sda2   0x438  ext4 a71304ad-1899-449b-9df2-2c15838097b0

PS произошло это потому что у раздела стояла метка «активный». И я некорректно восстановил загрузчик WindowsXP (меня просили сделать дуалбут на старенькой машинке, с чем я успешно бъюсь которую неделю)

Подскажите, как убрать 3 vfat и оставить нормальную запись на разделе?

★★★

Последнее исправление: baaba (всего исправлений: 1)

Попробуй так:

dd if=/dev/sda2 of=/root/sect0_backup bs=512 count=1
dd if=/dev/zero of=/dev/sda2 bs=512 count=1

Файл /root/sect0_backup замени на путь, который ты сможешь достать если раздел вдруг перестанет монтироваться вообще (чтобы восстановить назад сектор). Хотя скорее всего это не понадобится. В обычной ext4 первые 512 байт вроде бы нулевые.

И не сделай опечаток во второй команде, а то ей можно легко стереть весь диск если ошибиться.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)

wipefs -a -t vfat /dev/sda2? мб –force понадобится, не уверен. потом проверь так же командой wipefs без параметров. за доломанную фс ответственности не несу)

vvviperrr ★★★★★
()

Делай образ диска и на нём восстанавливай разделы с помощью testdisk'а. П.С. если данных не много, то можно сохранить только данные и экспериментировать с самим жёстким диском, но там уже не будет права на ошибку. В первом случае всегда можно повторно снять образ диска и провести следующий эксперимент

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

sin_a Думаю что если в fdisk сменить тип раздела то с содержимым ничего не изменится и станет работать нормально. Но лучше проверить.

Такое пробовал. Сменил метку на 7, затем w. Потом снова и метку на 83, затем w. Метка меняется, uuid не появился. Метку системы нужно задавать принудительно. То есть система загрузиться не может, она не получает параметр root для ядра (он задаётся root=UUID=…). Может быть нужно просто записать нули в первые сектора с помощью dd? А потом, если понадобится, восстановить ext4 утилитой?

Ещё есть идея просто удалить раздел через fdisk, а потом снова создать. Или сделать mkfs.ext4 на раздел. Есть вероятность что файлы уцелеют после такого. Хотя второй вариант - скорее всего нет.

Хотелось бы понять как убрать три записи о vfat. Хотелось бы записать нули в эти сектора. Думаю есть способ, нет?

Можно переустановить линукс в этото раздел, но хотелось бы починить. etx4 то читается.

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

Попробуй после установки нормальной метки, выставить новый UUID.

tune2fs -U random /dev/sda2 
Потом прописать его в fstab и загрузчике(grub-mkconfig если что, а не руками разумеется). Ну или в можно обойтись и без UUID в принципе, обращаться к разделам по имени.

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

shell-script

Да, но в современных дистрибутивах редактирование fstab не очень одобряется. Кроме того, я пробовал вручную через GRUB2 передавать root=/dev/sda2 вместо root=UUID=… получается или кернелпаник или загрузка initrd с busybox и русским в консоли (в случае с lubuntu).

tune2fs -U random /dev/sda2 - пробовал, но не помогло.

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

Это ещё почему) Прям в нём написано.. но я точно не помню. Это общая тенденция. К тому же на системд переходим же вроде, так что от этого будут отходить, как я понимаю. Но может не так понимаю

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

firkax

[code] dd if=/dev/zero of=/dev/sda2 bs=512 count=1 [/code]

Спасибо!!! Решительным образом помогло. Сижу с восстановленной системы

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 2)