Я могу закрепить сбойные блоки на своем жестком диске с единственной командой?

Насколько я знаю, что нет никакого специального доступного дистрибутива Linux планшетного ПК.

Ubuntu 10.10 направляется к лучшему планшету / сенсорной входной поддержке:

Они включают свою много сенсорную платформу uTouch в текущий выпуск. Посмотрите сообщение в блоге от Канонического с 16-го августа 2010: "Мультисенсорные Земли Поддержки в Индивидуалисте".

"Единица" является новым настольным интерфейсом легкого веса, который также оптимизирован для сенсорных событий как вводы данных пользователем. Посмотрите Mark Shuttleworths Blogposting "Единица и Свет Ubuntu".

Необходимо просто попробовать Ubuntu 10.10 (Индивидуалист) Бета. Это включает ядро Linux 2.6.35 с некоторыми патчами для улучшенной мультисенсорной возможности.

6
13.04.2017, 15:36
4 ответа

Ну, существует несколько случаев:

  1. Этот диск является частью RAID-массива. Хороший. Просто имейте 'восстановление' md массив как это: echo 'repair' > /sys/block/md0/md/sync_action. Проблема решена без потери данных. (Я предполагаю, что это не имеет место для Вас, но действительно необходимо считать изменение этим.)
  2. Вы не заботитесь о данных по диску (или нет никого). Просто используйте dd для обнуления целого диска.
  3. Сбойные блоки являются частью свободного пространства на диске. Используйте, например, cat /dev/zero > tempfile заполнить свободное пространство нулями. Сделайте это как корень (существует пространство, зарезервированное только для корня), вероятно, в однопользовательском режиме (таким образом, ничто не повреждается от исчерпывания пространства). После этого исчерпывает пространство, удалите файл (rm tempfile).
  4. Сбойные блоки являются частью данных (файлы) или метаданные (структура файловой системы) на диске. Вы потеряли данные. fsck -fc (выполненный с файловой системой размонтированный, или худший случай в только для чтения во время ранней начальной загрузки, если это - корневая файловая система) скажет Вам который файлы. Замените их от резервного копирования.

Его также возможный это badblocks -n, то, которое должно только быть сделано в размонтированной файловой системе, вызовет перекарту. Это не должно терять данные (кроме того, что было в сбойных блоках, который уже потерян).

Если Вы хотите написать сценарий его на основе вывода badblocks (который не безопасен, это оставляет Вас с тихим повреждением), это довольно легко. Каждая строка вывода badblocks дает Вам номер блока, на основе Вашего размера блока (512 в Вашем примере). Используйте тот же размер блока для dd's bs. Номер блока - Ваш seek для dd. Ваш count 1 (или выше, если существует несколько сбойных блоков подряд). of раздел (или диск), Вы работали на badblocks. Польза if /dev/zero.

10
27.01.2020, 20:24
  • 1
    я думаю № 3, является моим случаем иначе, мне нужен новый жесткий диск.. –  Aziz Al-ghannam 02.12.2011, 18:04
  • 2
    после заполнения свободного пространства, как я могу удалить tempfile теперь? –  Aziz Al-ghannam 02.12.2011, 19:01
  • 3
    @AzizAl-ghannam: использование комнаты, как rm tempfile. поврежденные секторы –  derobert 02.12.2011, 19:02
  • 4
    0, Вы являетесь лучшими!! –  Aziz Al-ghannam 02.12.2011, 19:07
  • 5
    , как может cat /dev/zero > tempfile зафиксировать сбойные блоки??? –  Dims 26.03.2016, 19:45

e2fsck -c -c похоже, делает то же самое со страховкой размера блока.

1
27.01.2020, 20:24

войдите в однопользовательский режим и сделайте fsck -yvf /dev/sda

Это походит, этому действительно нужен fsck, в конце концов.

0
27.01.2020, 20:24
  • 1
    я был бы осторожен относительно выполнения fsck -y лично. Кроме того, это не повторно отобразит секторы или даже отметило в файловой системе как плохо (Вам нужно -c для этого). –  derobert 02.12.2011, 17:32

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

Приведенный ниже сценарий находит сбойные сектора, помещает результаты сбойных блоков в текстовый файл, а затем, если размер текстового файла отличается от нуля, e2fsck помечает сбойные сектора (поэтому эти отмеченные сектора не будут Операционная система).

#!/bin/sh
target=/tmp/bad-blocks.txt
for disc in `fdisk -l | grep '^/' | awk '{ print $1 }'`; do
   badblocks -v $disc > $target
   if [ -s $target ]; then
       echo "badblock(s) found on $disc"
       e2fsck -l $target $disc
   else
       echo "no badblocks on $disc"
   fi
done
0
27.01.2020, 20:24

Теги

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