raw image fsck

choboja의 이미지


안녕하세요? raw image 파일이 있습니다. (virtualbox image파일을 raw파일로 변환시킨것입니다.)
해당 raw image를 loopback device로

$ mount -o loop,offset=32256 xxx.raw /mnt

이렇게 마운트하고 필요한 파일을 복사한 뒤에 fsck를 돌리고 싶은데
마운트를 하지 않은 상태에서 raw 이미지를 fsck하는 방법이 있을까요?

마운트를 한 상태로 fsck를 하게되면 파일 시스템에 심각한 손상이 간다고 나오니 할수도 없고,

즉, raw 이미지 자체를 fsck함으로써 linux 부팅시에 fsck를 하지 않을려고 하는것이 목적입니다.

tj의 이미지

man losetup

choboja의 이미지

어제 구글링을 통해 losetup 명령어에 대해 알게 되었고,

$ sudo losetup /dev/loop0 my_image.raw -o 32256
$ sudo fsck.ext3 -v -f loop0
$ sudo losetup -d /dev/loop0

이렇게 해서 fsck를 수행하고 다시 image를 가상머신을 통해 부팅을 시키니,
fsck 1.41.4 (27-Jan-2009)
/dev/sda1: Superblock last mount time is in the future. FIXED.
/dev/sda1: Superblock last write time is in the future. FIXED.
/dev/sda1 has filesystem last checked time in the future, check forced.
/ 69.4% /dev/sda1: Entry 'mnt' in / (2) has deleted/unused inode 602657. CLEARED.
/dev/sda1: |======================================== - 71.9% /dev/sda1: Entry 'xdg-user-dirs.mo' in /usr/share/locale/ko/LC_MESSAGES (668252) has delete
d/unused inode 618945. CLEARED.
/dev/sda1: Entry 'vim-runtime' in /usr/share/lintian/overrides (667882) has deleted/unused inode 610801. CLEARED.
/dev/sda1: Entry 'vim' in /usr/share/lintian/overrides (667882) has deleted/unused inode 610802. CLEARED.
|================================================== / 89.6% /dev/sda1: Inode 2 ref count is 21, should be 20. FIXED.
/dev/sda1: ***** REBOOT LINUX *****
/dev/sda1: 171781/1001712 files (0.4% non-contiguous), 2206596/4006201 blocks
fsck died with exit status 3
[fail]

다른 이미지 역시
/dev/sda1: Entry 'rtc' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/
unused inode 510593. CLEARED.
/dev/sda1: Entry 'ide' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/
unused inode 511226. CLEARED.
/dev/sda1: Entry 'ata' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/
unused inode 511320. CLEARED.
/dev/sda1: Entry 'message' in /usr/src/linux-2.6.28.10/drivers (289569) has dele
ted/unused inode 511586. CLEARED.
/dev/sda1: Entry 'virtio' in /usr/src/linux-2.6.28.10/drivers (289569) has delet
ed/unused inode 511885. CLEARED.
/dev/sda1: Entry 's390' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted
/unused inode 533157. CLEARED.
/dev/sda1: Entry 'atm' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/
unused inode 533348. CLEARED.
/dev/sda1: Entry 'sh' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/u
nused inode 533484. CLEARED.
/dev/sda1: Entry 'firewire' in /usr/src/linux-2.6.28.10/drivers (289569) has del
eted/unused inode 533494. CLEARED.
/dev/sda1: Entry 'mfd' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/
unused inode 533549. CLEARED.
/dev/sda1: Entry 'uwb' in /usr/src/linux-2.6.28.10/drivers (289569) has deleted/

이런 메시지가 나오는데, 이전에 수행한 raw image 를 fsck한경우에는 이런걸 잡아내지 못한것인가요?
losetup해서 fsck를 수행하면 위와 같은 메시지를 출력하면서 이미 수정이 되어야되는것 같은데, 제대로 동작하지 앟은것 같은 생각이 듭니다.

위의 fsck를 수행하지 않으면, 부팅후 리눅스 콘솔에서 아래와 같은 메시지를 지속적으로 출력합니다.
[ 641.246067] EXT3-fs error (device sda1): htree_dirblock_to_tree: bad entry in
directory #903993: rec_len is smaller than minimal - offset=0, inode=0, rec_len
=0, name_len=0
[ 641.246084] Aborting journal on device sda1.
[ 641.248413] ext3_abort called.
[ 641.248417] EXT3-fs error (device sda1): ext3_journal_start_sb: Detected abor
ted journal
[ 641.248426] Remounting filesystem read-only
[ 641.249035] Remounting filesystem read-only
[ 641.249909] EXT3-fs error (device sda1): htree_dirblock_to_tree: bad entry in
directory #903994: rec_len is smaller than minimal - offset=36864, inode=0, rec
_len=0, name_len=0
[ 641.249985] EXT3-fs error (device sda1): htree_dirblock_to_tree: bad entry in
directory #903994: rec_len is smaller than minimal - offset=126976, inode=0, re
c_len=0, name_len=0

아 그리고 man fsck에서 fsck died with exit status 3
상태가 3인건 메뉴얼에 나오지 않는데, 이 상태는 무엇인지 모르겠네요.
도움 부탁드릴께요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.