Pages : 1
#1 Le 13/03/2017, à 20:41
- toutafai
fsck sous busybox ?
Bonsoir,
(si je ne suis pas au bon endroit pour cette demande, dites le moi)
De temps en temps, j'ai le "plaisir" au démarrage du pc (14.04 X64) d'avoir un partition / corrompue ; et ce, malgré avoir bien pris soin d'éteindre correctement mon pc ( pas en massacrant le bouton power )
Je suis obligé de démarrer en live afin de faire un fsck pour remettre en ordre.
Question :
Peut on faire un fsck sous busybox, si oui, comment ?
A part un Hdd qui commencerais a fatiguer (pourtant il n'est pas vieux, 18 mois), avez-vous des pistes pour expliquer pourquoi le hdd se corromps de temps en temps. ?
PS : je vais lancer un test SAMRT, j'éditerais mon post avec son retour
Retour SMART :
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-113-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Hitachi Travelstar 5K320
Device Model: Hitachi HTS543232L9SA00
Serial Number: 081204FB2400LECXTJRA
LU WWN Device Id: 5 000cca 564cd1682
Firmware Version: FB4OC43C
User Capacity: 320,072,933,376 bytes [320 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 5400 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 3f
SATA Version is: SATA 2.6, 1.5 Gb/s
Local Time is: Mon Mar 13 21:36:05 2017 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x85) Offline data collection activity
was aborted by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 645) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 127) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 095 095 062 Pre-fail Always - 12
2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 1886
3 Spin_Up_Time 0x0007 253 253 033 Pre-fail Always - 0
4 Start_Stop_Count 0x0012 092 092 000 Old_age Always - 13415
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 62
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 055 055 000 Old_age Always - 19944
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 093 093 000 Old_age Always - 11355
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 096 096 000 Old_age Always - 1180471
193 Load_Cycle_Count 0x0012 066 066 000 Old_age Always - 343370
194 Temperature_Celsius 0x0002 157 157 000 Old_age Always - 35 (Min/Max 8/52)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 60
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 8
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Interrupted (host reset) 50% 17980 -
# 2 Short offline Completed without error 00% 17979 -
# 3 Extended offline Completed without error 00% 4031 -
# 4 Short offline Completed without error 00% 2955 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Dernière modification par toutafai (Le 13/03/2017, à 21:42)
Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).
Hors ligne
#2 Le 13/03/2017, à 21:03
- J5012
Re : fsck sous busybox ?
non mais par recompilation oui ... https://www.busybox.net/about.html
un hdd qui se corromps regulierement n'a pas besoin d'etre "vieux" : il suffit qu'il y ait un defaut de fabrication :
- erreur de sommation dans la carte du ctrleur
- une piste magnetique pas de la meilleure qualité
- une poussiere dans l'environnement au moment de l'emboitage
- un bras magneto-resistif de seconde qualité (ie le metal a un % alliage de qualité inferieure → l'oem fait des economies ...)
- etc .... plein d'autres parametres aie ...
Hors ligne
#3 Le 13/03/2017, à 21:41
- toutafai
Re : fsck sous busybox ?
Merci pour ta réponse.
Dommage, c'est un peu c.. d'avoir une boite a outils qui necontient pas cela sans avoir a recompiler
Je vais changer de hdd on vera bien
PS : 1er post édité avec le retour SMART si quelqu'un arrive a décoder cela et me dire ce qu'il en est
Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).
Hors ligne
#4 Le 14/03/2017, à 07:10
- serged
Re : fsck sous busybox ?
Pour le SMART, je ne vois rien de rédhibitoire. Pour interpréter voir :
- L'article SMART de Wikipédia
- ...plus détaillé en anglais
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#5 Le 14/03/2017, à 09:34
- moko138
Re : fsck sous busybox ?
Salut toutafai !
Bon :
10 Spin_Retry_Count 0x0013 100 100 060 0
191 G-Sense_Error_Rate 0x000a 100 100 000 0
198 Offline_Uncorrectable 0x0008 100 100 000 0
- -
Moins bon :
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE RAW_VALUE
4 Start_Stop_Count 0x0012 092 092 000 13415 # mises en
# rotation, dont sorties de veille.
9 Power_On_Hours 0x0012 055 055 000 19944
12 Power_Cycle_Count 0x0032 093 093 000 11355 # mises sous tension.
Donc ta session moyenne ne dure qu'une heure 45 minutes.
C'est trop court pour viser la longévité.
193 Load_Cycle_Count 0x0012 066 066 000 343370
Ce disque a beaucoup plus que 18 mois :
20.000 heures. C'est déjà respectable ! Surtout avec 11.355 mises sous tension, usantes.
- -
Mauvais :
192 Power-Off_Retract_Count 0x0032 096 096 000 1180471
194 Temperature_Celsius 0x0002 157 157 000 35 (Min/Max 8/52)
196 Reallocated_Event_Count 0x0032 100 100 000 60
5 Reallocated_Sector_Ct 0x0033 100 100 005 62
197 Current_Pending_Sector 0x0022 100 100 000 8
- -
Pour l'instant, je ne comprends pas comment le Power-off Retract Count (1,2 millions) peut être 3,5 fois plus élevé que le Load_Cycle_Count (343.370).
Mais de toute façon, cet Hitachi Travelstar HTS543232L9SA00 atteint des températures excessives (52°C en hiver) et ses secteurs sont usés.
Il est donc prudent de le remplacer.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#6 Le 14/03/2017, à 10:10
- toutafai
Re : fsck sous busybox ?
Bonjour a tous et merci pour vos "traduction"
Effectivement, il s'agit d'un disque plus ancien, je me rappelle maintenant l'avoir swapé d'un autre portable.....je vais le remplacer.
Encore merci pour vos réponses. Bonne journée a tou(te)s
Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).
Hors ligne
#7 Le 14/03/2017, à 10:36
- maxire
Re : fsck sous busybox ?
Salut,
Peut on faire un fsck sous busybox, si oui, comment ?
Non, à moins de construire une version spécifique de Busybox comme cela t'a déjà été indiqué, par contre rien ne t'empêche de charger le programme e2fsck dans l'image système initiale créée via la commande mkinitramfs.
Plus d'information ici
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#8 Le 18/03/2017, à 19:32
- toutafai
Re : fsck sous busybox ?
Merci maxire pour ce complément
J'ai finalement synchronisé ma sauvegarde et restauré le tout sur un nouveau hdd.
Problème résolu ! Merci à tous pour votre participation et bonne continuation.
Dernière modification par toutafai (Le 18/03/2017, à 19:33)
Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).
Hors ligne
#9 Le 21/03/2017, à 18:38
- maxire
Re : fsck sous busybox ?
Pour répondre définitivement à la question initiale, pour rendre disponible fsck sous busybox:
Créer un fichier /etc/initramfs-tools/hooks/fsck exécutable contenant:
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
fstab_files()
{
echo /etc/fstab
if [ -d /etc/fstab.d ]; then
ls -1 /etc/fstab.d | grep '\.fstab$' | sed -e 's;^;/etc/fstab.d/;'
fi
}
# Find a specific fstab entry
# $1=mountpoint
# $2=fstype (optional)
_read_fstab_entry () {
# Not found by default.
echo "MNT_FSNAME="
echo "MNT_DIR="
echo "MNT_TYPE="
fstab_files | while read file; do
if [ -f "$file" ]; then
while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do
case "$MNT_FSNAME" in
""|\#*)
continue;
;;
esac
if [ "$MNT_DIR" = "$1" ]; then
if [ -n "$2" ]; then
[ "$MNT_TYPE" = "$2" ] || continue;
fi
echo "MNT_FSNAME=$MNT_FSNAME"
echo "MNT_DIR=$MNT_DIR"
echo "MNT_TYPE=$MNT_TYPE"
echo "MNT_PASS=$MNT_PASS"
break 2
fi
MNT_DIR=""
done < "$file"
fi
done
}
# Find a specific fstab entry and print its type (if found, and pass != 0)
# $1=mountpoint
get_fsck_type_fstab () {
eval "$(_read_fstab_entry "$1")"
# Not found by default.
if [ "$1" = "$MNT_DIR" ] && [ "$MNT_PASS" != 0 ]; then
# Ignore filesystem type for /, as it is not available and
# therefore never used at boot time
if [ "${MNT_DIR}" = "/" ] || [ "${MNT_TYPE}" = "auto" ]; then
MNT_FSNAME="$(resolve_device "${MNT_FSNAME}")"
alias fstype="/usr/lib/klibc/bin/fstype"
get_fstype "${MNT_FSNAME}"
unalias fstype
else
echo "${MNT_TYPE}"
fi
fi
}
get_fsck_types() {
get_fsck_type_fstab /
get_fsck_type_fstab /usr
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
if [ ! -x /sbin/fsck ]; then
exit 0
fi
. /usr/share/initramfs-tools/scripts/functions
. /usr/share/initramfs-tools/hook-functions
fsck_types="$(get_fsck_types | sort | uniq)"
if [ -z "$fsck_types" ]; then
exit 0
fi
copy_exec /sbin/fsck
copy_exec /sbin/logsave
for type in $fsck_types; do
if [ "$type" = "unknown" ] ; then
echo "Warning: couldn't identify filesystem type for fsck hook, ignoring."
continue
fi
if prog="$(command -v fsck.${type})"; then
copy_exec "$prog"
else
echo "Warning: /sbin/fsck.${type} doesn't exist, can't install to initramfs, ignoring."
fi
done
puis mettre à jour l'image initiale (ou les ..) via la commande update-initramfs.
Ce script fsck ne chargera la commande fsck que si /etc/fstab référence des systèmes de fichiers de type ext linux.
J'ai trouvé cette méthode dans Debian Stretch, je suis surpris que Ubuntu ne semble pas la proposer (vérifier dans /usr/share/initramfs-tools/hooks).
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
Pages : 1