부팅디스크에 관하여...(실제 저장된 정보 순서등..)

blueski의 이미지

부팅 디스크를 보며 그런 의문이 떠오르는데요.

1.디스크의 섹터가 나누어 졌다는 것은 로우포맷이 이루어 졌다는 말인가요?

2.그렇다면 시작점은 어떻게 알수 있나요?(물리적으로 다른 표시를 해 두는 건가요?)

3. 어쨌든 섹터가 나뉘어져 있는 상태에서 첫 512바이트는 부트섹터인가요?

4. 화일시스템과 관련된 정보는 위의 512바이트 다음부터 존재하나요?

5. 그렇다면 lilo 는 자체적으로 여러가지 화일시스템을 접근할 수 있도록 만들어 진건가요? (그러니까 각종 커널을 로드하기 위해서는 화일시스템을 이용해야 할테고 그러자면 ext2,ext3, dos 등을 자체적으로 지원해야 할테니까요.)

이상입니다.

잘 아시는 고수님들께 부탁 드립니다. 꾸벅..

sjpark의 이미지

1번 질문이 이해가 안되구요.
2번은 디스크에 보면 시작 포인트를 알려주는 네모난것이 있는데.. 예를 들면 5.25인치에 가운데 동그라미 옆에 작은 동그라미가 있고, 3.5인치에도 있지요. 이건 확실한건 아니구요.

첫 512바이트가 부트 섹터입니다.
해당 섹터에 부트 프로그램이 있던 없더, 처음 부팅을 하면 해당 디스크의 처음 512 바이트를 읽어와 실행을 시키죠.

일단, 부트 코드가 로드되면, 그 이후부터는 OS 개발자의 맘에 따라 달라집니다.

dgkim의 이미지

5번 문항 답변입니다.

lilo는 파일시스템을 인지하지 못합니다.

lilo는 커널의 물리적인 위치를 이용해서 로드합니다.(섹터번호라든지)

grub은 파일시스템을 인지합니다.

blueski의 이미지

dgkim wrote:
5번 문항 답변입니다.

lilo는 파일시스템을 인지하지 못합니다.

lilo는 커널의 물리적인 위치를 이용해서 로드합니다.(섹터번호라든지)

grub은 파일시스템을 인지합니다.

그렇다면 lilo 를 실행 시킨후에 커널화일을 이곳 저곳으로 이동시키다가 다시 제자리로 (/boot) 옮겨 놓으면 실제 물리적으로 저장된 곳이 바뀔수도 있을것이고 이 경우에는 lilo 가 해당 커널을 불러 오지 못할수도 있다는 말인가요?

icebird의 이미지

물론 섹터가 나눠진것은 디스크를 사용하기 위해서 초기에 로우포맷이 이뤄진후겠죠...

하지만 섹터가 나눠진것을 근거로 로우포멧을 언급하기는 좀 적절치 않다고 생각듭니다.

로우포멧을 해서 섹터가 나눠지는것은 아니니까요.

sjpark의 이미지

blueski wrote:
dgkim wrote:
5번 문항 답변입니다.

lilo는 파일시스템을 인지하지 못합니다.

lilo는 커널의 물리적인 위치를 이용해서 로드합니다.(섹터번호라든지)

grub은 파일시스템을 인지합니다.

그렇다면 lilo 를 실행 시킨후에 커널화일을 이곳 저곳으로 이동시키다가 다시 제자리로 (/boot) 옮겨 놓으면 실제 물리적으로 저장된 곳이 바뀔수도 있을것이고 이 경우에는 lilo 가 해당 커널을 불러 오지 못할수도 있다는 말인가요?

네.

lilo 설정을 바꾸고 lilo를 실행 시키는 이유가 거기 있지요.

파도의 이미지

섹터는 하드디스크의 주소를 표시하는 최소 단위입니다. 하나의 섹터는 512바이트로 되어 있지요. 즉 하드디스크에 저장된 내용을 읽어 올 때에는 512바이트를 한꺼번에 읽어오게 됩니다. 하드디스크는 공장에서 출시될 때부터 로우레벨포멧되어 나옵니다. 고밀도의 하드디스크를 물리적으로 포멧하는 정교한 작업이 집에서 이루어지기는 힘들 것 같습니다.

첫 번째 섹터는 물리적으로 정해져 있을 것입니다. 펌웨어로 수정이 가능할 지는 잘 모르겠습니다.

플로피디스크를 부트디스크로 사용할 경우, 일반적으로 드라이브에서 인식하는 첫번째 섹터를 부트섹터로 인식합니다. 하드디스크의 경우에는 이 첫번째 섹터를 MBR이라고 합니다. 마찬가지로 MBR영역에 부트로더가 위치 할 수 있습니다. 이것도 바이오스나 펌웨어 수준에서 수정가능할지는 잘 모르겠습니다.

화일시스템과 관련된 정보는 파티션 타입에 따라 좀 다릅니다. FAT타입은 바로 다음 섹터부터 사용하고, FAT32의 경우에는 좀 다릅니다..

lilo는 잘 모르겠고. grub의 경우에는 stage1(일반적으로 부트섹터 또는 MBR에 위치하는 파일)이 stage2(grub 쉘)를 로드할 때만 하드디스크의 섹터주소로 로드하고 그 이후부터는 파일 시스템을 인지해서 파일을 로드합니다.
grub.conf파일은 파일시스템을 인지해서 로드하게 됩니다. 그래서 편리하지요.. :)

--------Signature--------
시스니쳐 생각 중..

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.