Файловая система повреждена после установки Windows поверх Debian

Это кажется немного глупым, но:

$ tac file.txt |sed -e '/^virt-top/q' |tac
virt-top time  11:25:17 Host foo.example.com x86_64 32/32CPU 1200MHz 65501MB
   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM   TIME    NAME
    1 R    0    0    0    0  0.6 12.0  96:02:53 instance-0000036f
    2 R    0    0    0    0  0.2 12.0  95:44:08 instance-00000372

GNU tacпереворачивает файл (многие не -системы GNU имеют tail -rвместо ), sedвыбирает строки до первой, начинающейся с virt-top. Вы можете добавить sed 1,2dили tail -n +3, чтобы удалить заголовки.

Или в awk:

$ awk '/^virt-top/ { a = "" } { a = a $0 ORS } END {printf "%s", a}' file.txt 
virt-top time  11:25:17 Host foo.example.com x86_64 32/32CPU 1200MHz 65501MB
   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM   TIME    NAME
    1 R    0    0    0    0  0.6 12.0  96:02:53 instance-0000036f
    2 R    0    0    0    0  0.2 12.0  95:44:08 instance-00000372

Он просто собирает все строки в переменную и очищает эту переменную в строке, начинающейся с virt-top.

Если файл очень большой, решение tac+ sedдолжно быть быстрее, так как ему нужно только прочитать конец файла, в то время как решение awkчитает весь файл сверху.

1
21.11.2021, 14:55
1 ответ

I firstly deleted all files from /dev/sdb, as i wabted to put windows on that. I had /dev/sda mounted under /mnt/data/, so i tried doing sudo umount /mnt/data/, i dont know if that did anything.

umount /mnt/dataразмонтировал раздел, на который вы хотели поместить Windows. Но это не изменило конфигурацию для монтирования этого раздела во время загрузки. Итак, теперь, когда вы загружаетесь, Linux хочет смонтировать этот раздел, а перед этим выполняет проверку работоспособности. Ошибка, которую вы получаете, связана с этой проверкой работоспособности, что имеет смысл, поскольку на разделе больше нет файловой системы Linux.

Вам нужно изменить конфигурацию Linux, чтобы либо полностью забыть об этом разделе, либо смонтировать его, но не настаивать на том, что это файловая система Linux. В любом случае вам нужно использовать редактор для редактирования строки, содержащей /mnt/dataв /etc/fstab. Запустите команду

nano /etc/fstab

(При желании вы можете использовать другой текстовый редактор.)

Строка должна измениться на что-то вроде

/dev/sdb1 /mnt/data auto uid=1000,gid=1000 0 0
  • Первый столбец — это раздел. В настоящее время это что-то вроде LABEL=datapartition, но больше нет раздела с этой меткой. Если у раздела Windows есть метка, вы можете использовать ее; или вы можете использовать номер раздела, который, вероятно, равен 1, следовательно, /dev/sdb1.
  • Второй столбец — это точка монтирования, т. е. каталог, в котором будут видны файлы. Вероятно, вам следует изменить это на другое имя, например /media/windows. Обратите внимание, что вам нужно будет создать этот каталог с mkdir /media/windows, иначе вы снова получите ошибку во время загрузки.
  • Третий столбец — тип файловой системы. autoдолжно работать.
  • Четвертый столбец содержит параметры монтирования. Выше я поставил параметры, чтобы все файлы принадлежали пользователю/группе 1000. Если вы используете другой идентификатор пользователя/группы в Linux,замените 1000 правильным значением.
  • Пятый и шестой столбцы должны быть равны 0 для любой файловой системы, не принадлежащей Linux. В качестве альтернативы, вы можете вообще их исключить.

Если вы хотите исправить это позже в более удобной обстановке, вы можете просто добавить #в начале строки, чтобы закомментировать это, а затем сохранить и загрузиться в обычном режиме.

1
21.11.2021, 20:51

Теги

Похожие вопросы