반응형

디지털 포렌식을 하기 위해서는 저장매체의 파일시스템 구조를 알아볼 필요가 있다.

그리고 때로는 BR 부분이 망가져 복구를 하고 진행해야될 경우가 있다.

렇기 때문에 이번에는 HxD  프로그램을 통해 파일시스템의 MBR 부분을 확인해보려고 한다.


FAT 파일시스템의 MBR의 다음과 같은 구조를 가진다.



이 그림중 55 AA는 매직코드 또는 Signature라고 표현을 하는데

SD카드 또는 USB에서 FAT32로 포맷을 하는 경우 [55 AA]라는 값이 설정이 된다.


그렇기 때문에 MBR 분석 중 Signature값이 55 AA가 보이면

FAT32 파일시스템으로  포맷이 된것이라고 보면 된다.


그리고 Partition의 경우 다음과 같이 table이 구성이 된다.



- Boot Flag : 부팅 가능 여부 확인(0x80 : 부팅가능, 0x00: 부팅불가능)


- Starting CHS Address : CHS 시작 주소 (Cylinder Head Sector의 약자로 물리적 디스크 접근 방식 중 하나) 파티션의 시작 주소를 의미.


- Partition Type : 파티션 타입을 의미하며 0x07이면 NTFS를 나타내고, 0x0B(CHS FAT32), 0x0C(LBA FAT32)를 의미. 0x05와 0x06은 확장 파티션


- Ending CHS Address  : CHS 종료 주소


- Starting LBA Address : LBA 시작 주소.(Logical Block Area의 약자로 CHS의 용량 한계를 극복하기 위해 사용)로 파티션 시작 섹터 번호를 의미


- Size in Sector : 파티션의 섹터 수를 의미


이제 HxD 프로그램으로 MBR의 구조를 확인해보면 다음과 같이 나온다.


[Partition 01]

-------------------------------------------------------------------

00 02 03 00 0C 61 1B 06 80 00 00 00 00 90 01 00

-------------------------------------------------------------------


* 현재 이 저장매체는  한개의 파티션만 사용

* CHS 시작 주소 : 0x02, 0x03, 0x10

* Partition Type : 0x0C (FAT32)

* CHS 종료 주소 : 0x61, 0x1B, 0x60

* LBA 시작 주소(파티션 섹터 시작 번호) : 0x00, 0x00, 0x00, 0x80 : 10진수 128

* 파티션의 섹터 수 : 0x00, 0x90, 0x01, 0x00 : 10진수 102,400


<참조 사이트 및 블로그>

** http://yebig.tistory.com/117

** http://humanistcpu.blogspot.com/2013/10/hxd-mbrmaster-boot-record.html

반응형
반응형

ios 포렌식 환경을 구축해보기 위해서 찾아보던중 Mac OS 가 필요했고 찾아보던 중

VMware 에서 Mac OS를 올리는 방법을 찾게 되었다.


http://bimmermac.com/2228 사이트를 참조하였으며 일부 안되는 부분은 구글링을 통해 해결하게 되었다.


[설치 환경]

CPU : Intel i3 - 7100U

RAM : 8GB

VMware Workstation 12 pro


[준비 사항]

VMware Workstation 12 , unlocker, macOS 10.12 Sierra.vmdk 파일


설치하기에 앞서

- VMware Workstation 12 버전 기준으로 설치를 진행하며 다른 운영체제 버전 또는

VMware 버전에 따라서 unlocker 버전도 바뀔 수 있다.


- macOS 10.12 이미지 파일은 위에 링크에서 받아서 진행 하였다.


[설치 하기]


1. 먼저 VMware를 열고 New Virtual Machine Wizard 선택 →  Typical(recommended) →

I will install the operating system later를 눌러 Guest operating system을 살펴본다.


OS 선택란에 Apple Mac OS 관련 부분이 존재하지 않을 것이며 이 부분을 추가해주기 위해서

unlocker를 이용하여 열어줘야 한다.


2. 준비된 unlocker를 한글 경로가 있는 곳이 아닌 C드라이브로 압축을 푼다.



3. unlocker 폴더를 들어가서 win-install.cmd 파일을 관리자 권한으로 실행 시켜준다.



실행을 하면 필자의 경우 아래의 불길한 메시지를 출력하면서 정상적으로 실행이 되지 않는 것이 확인되었다.



의외의 이 문제 때문에 적잖이 시간을 소비하였으며 이 문제를 해결하기 위해 구글링을 하였으며 현재 VMware의 버전과 unlocker의 버전이 호환이 안되는 것으로 보였다.


* [해결방법] *

https://github.com/DrDonk/unlocker 에 들어가서 올라와 있는 unlocker를 받아준다.

( Clone or download → Download ZIP 버튼 클릭하면 받아진다.)



밑에 readme.txt 를 보니 unlocker의 버전이 2.1버전으로 업그레이드 된 것으로 보인다.



즉 기존에 받아서 실행이 잘 되지 않았던 버전은 확인해보니 unlocker208 즉 2.08 버전인 것이고 해당 버전은 2.1인 버전인 셈이다.


다운을 받고 마찬가지로 C드라이브에 압축을 풀어주고 다시 3번의 과정을 거친다.

그러면 전에와 같은 오류가 발생하지 않고 다른 모습을 보여줄 것이다.


혹시나 만약에 패치 도중 permission 관련 에러가 나면 VMware를 완전히 종료하지 않고 패치를 해서 나는 오류이므로 필히 종료하고 다시 시도해본다.


4. 다시 1번 과정을 통해서 Guest Operating System 부분을 확인해본다.



확인해보면 이제는 Apple Mac OS X 라는 부분이 새로 추가 되었으며 version을 확인해보면

선택할 수 있는 부분들이 추가로 보인다.


5. 입맛에 맞게 Virtual machine 이름과 생성될 경로를 지정한다.



6. macOS에 사용될 디스크 용량 설정 및 가상디스크 저장 방식 선



용량은 macOS에 필요한 최소 용량으로 설정을 하고 가상디스크 저장 방식은

Store virtual disk as a single file 로 선택을 한다.


7. 기타 하드웨어 옵션 설정



Customize Hardware... 부분은 사실 가상머신 생성 후에도 변경이 가능하므로 Finish 를 눌러준다.


8. 다운받은 macOS 가상이미지 파일 옮기기


다운받아 놓은 macOS 10.12 버전 가상이미지를 생성된 가상머신 경로로 옮겨준다.




기존 macOS 10.12.vmdk는 지우고 다운받은 이미지를 macOS 10.12.vmdk 로 이름을 바꿔준다.

(깔끔해 보이기 위해)


9. 추가 설정 작업




이렇게 가상머신이 생성이 되었으며 1번 과정에서 I will install the operating system later 옵션을 선택하고

세팅을 진행하였기 때문에 OS가 설치되어있지 않은 빈 PC라고 생각할 수 있다.

제대로 된 macOS를 사용하려고 하면 추가적으로 설정이 필요하다.


Edit virtual machine settings 버튼을 눌러보자.


1) Memory 는 4G(본인 PC사양에 맞게 설정)

2) Processors 4개(Memory와 마찬가지)


8번 작업을 완료하였으면 Hard Disk 부분에 기존 40G → 79GB로 변경이 되어있을 것이다.



설정을 완료하고 OK를 누른다.


10. 실행하기(오류 발생시 해결방법 포함)


이제 Power on this virtual machine을 눌러서 실행을 해보자.

대게 아래와 같은 에러가 발생한다.



이 에러를 없애려면 2가지 방법이 있다.

핵심 옵션은 smc.version = "0" 이다.


1) vmware에 config.ini 설정파일에서 맨 밑부분에 위 옵션을 입력하고 저장

2) macOS 가상머신 이미지 있는 경로 ex) macOS 10.12.vmx 에 위 옵션을 입력하고 저장


1) 에 구문을 추가하는 것은 VMware 전체에 적용되는 것이며

2) 에 구문을 추가하는 것은 macOS 가상머신 쪽에만 적용한다는 뜻으로 볼 수 있다.


선택은 알아서 하면 되고 VMware를 킨 상태에서 진행할 경우 문제가 발생할 수 있기 때문에 VMware를 종료하고 진행하자.


<첫번째 방법>  

메모장을 관리자 권한으로 실행한 후 열기를 클릭한다. (검색에서 메모장 검색 후 오른쪽 마우스로 클릭하면 관리자 권한 창이 나온다.)


C:\ProgramData\VMware\VMware Workstation 경로를 입력하고 파일이름 옆에 형식을 모든파일(*.*) 형식으로 변경하면 config.ini 파일이 보이는데 열어준다.



위 빨간줄 친 것처럼 옵션을 적어주고 저장한다.

** 관리자 권한으로 실행하지 않을 경우 저장이 안되고 다른 이름으로 저장이 된다.



<두번째 방법>

macOS 가상머신이 설치되어있는 경로로 향한다.



macOS 10.12.vmx를 오른쪽으로 클릭하고 연결 프로그램을 메모장으로 설정한다.


마찬가지로 맨 아래줄에 smc.version = “0” 을 적어주고 저장한다.


그리고 다시 macOS 를 동작시키면 이런 창이 뜰 수도 있으나 그냥 yes를 눌러준다.



그러면 애플 로고를 만날 수 있다.



이제 macOS 설정하고 사용하면 된다!!!

반응형

'운영체제(OS)' 카테고리의 다른 글

운영체제(OS) 이론  (0) 2017.07.27
반응형

윈도우에서 임의적으로 쓰기 방지 설정을 해야하거나 기타 설정을 변경하려고 할 때

레지스트리를 손봐야 할 상황이 온다.


그러나 이 레지스트리를 잘못 손대면 윈도우 부팅이 안되거나

제대로 프로그램의 실행이 되지 않는 크리티컬한 상황이 오게 되는데

이 상황을 대비해 미리 레지스트리를 수정하기 전 백업을 해놓는 것이 좋다.

(경험상 리눅스도 마찬가지고 설정을 변경을 요할때는 설정파일을 백업해놓고 진행하는 것이 좋다)


- 레지스트리를 백업 및 복원 하는 방법


[백업]

Windows 10 기준 (진입 방법은 대게 비슷함)


검색 → 실행 → regedit 입력 후 확인


파일 → 내보내기


파일 이름에 자신이 저장하고 싶은 파일명을 적어주고

파일 형식은 등록 파일(*.reg)로 지정.


내보내기 범위는 레지스트리 전체를 보낼 수 있는 모두(A)

특정 레지스트리만 보낼 수 있는 선택한 분기(E)가 존재하며 필요에 따라 선택하고

저장을 하면 된다.



이렇게 하면 레지스트리가 백업이 되고 지정한 경로에 저장이 된다.


[복원]

파일 → 가져오기 선택


레지스트리 파일 가져오기 창이 나오면 저장해뒀던 백업파일을 선택하고 열기


이렇게 하면 수정하기 전 레지스트리 상태로 복원이 가능하다.



반응형
반응형

Windows 시스템은 출시된 버전에 따라 폴더의 이름과 구조가 조금씩 다른 부분도 있지만

호환성을 위해 대부분 유사한 형태를 보이고 있다.

디지털 포렌식을 위해 Windows 폴더들의 구조와 각 폴더에 존재하는 파일들의 특성을

이해하는 것은 필수적인 요소다.


[C:\드라이브 기준]

< C:\Documents and Settings\[User ID]\ >

< C:\Users\[User ID]\ >


Documents and Settings 또는 Users 폴더는 사용자 계정별 프로필 설정 및 데이터가 저장되는 폴더로

각각 다른 사용자 계정별 폴더가 존재한다. 각 계정 아래에는 계정별 바탕화면, 즐겨찾기, 내 문서, 편지함 등 환경정보가 저장된 파일 및 폴더가 존재한다.

Windows 95/98/Me 버전에서는 개인 사용자용 운영체제 특성상 계정별 폴더가 존재하지 않았으나 Windows NT 이후의 버전부터는 다중 사용자 운영체제 기반으로 사용자별 프로필 폴더가 존재한다.

Windows NT는 C:\WINNT\Profiles 폴더명으로 Windows XP/2000 에서는 C:\Documents and Settings와 같은 폴더명으로 존재한다.

이후 Windows Vista 부터의 윈도우 시스템은 C:\Users 폴더명으로 사용되고 있으나 호환성을 위해 C:\Users 폴더에 연결된 심볼릭 링크(Symbolic Link)의 형태로 C:\Documents and Settings 폴더도 존재한다.


[사용자 계정별 하위폴더 종류]


- Application Data : 어플리케이션별 데이터, 응용 소프트웨어 개발자가 사용자 프로필 폴더에 저장할 데이터를 결정

- AppData : Windows Vista 이전 Windows 시스템의 Application Data 폴더. 하위 폴더에 Local, LocalLow, Roaming 폴더가 존재

- Cookies : 웹사이트 방문 시 저장되는 쿠키 정보

- Documents : 사용자 문서 (Windows XP 에서는 My Documents)

- Favorites : 인터넷 익스플로러의 즐겨찾기 정보 목록

- Local Settings : 응용 소프트웨어 데이터, History 기록 및 임시 파일 저장

- NetHood : 네트워크 환경 항목에 대한 바로 가기

- Pictures : 사용자 그림 항목(Windows XP 에서는 My Pictures)

- PrintHood : 프린터 폴더 항목에 대한 바로 가기

- Recent : 최근 접근한 문서 및 폴더의 링크 저장, Vista 이상의 Windows 시스템에서는 AppData\Roaming\Microsoft\Windows\Recent 폴더 사용

- SendTo : 문서 처리 유틸리티에 대한 바로 가기

- 시작메뉴 : 시작 프로그램 항목에 대한 바로 가기

- Tempates : 사용자 템플릿 항목


  • 위 이미지는 내 컴퓨터 환경인 Windows 10에서 캡쳐 한 것이므로 위 설명된 폴더가 다를 수도 있음.


< C:\Program Files\ >

각종 응용프로그램들이 설치되는 폴더이다. C:\Program Files\Common Files 폴더에는

시스템 정보파일이 존재한다.


[C:\Program Files\Common Files 폴더 화면]


< C:\ProgramData >

Windows Vista 부터 등장한 폴더로 Windows 시스템에 설치된 프로그램들이 모든 사용자 계정에서 사용할 수 있는 데이터를 저장하는데 사용한다.

기본적으로 숨김속성을 가지고 있어 윈도우 탐색기의 폴더옵션에서 ‘숨김 파일 및 폴더 표시’ 기능에 체크를 해야 확인이 가능하다.



이렇게 숨김 파일 및 폴더 표시를 체크하고 확인해보면 이렇게 ProgramData 폴더가 보인다.

폴더가 희미하게 표시된 것은 숨김 파일 또는 폴더라는 의미다.


[ProgramData 폴더 내부]


< $RECYCLE.BIN >

Windows 시스템의 휴지통 폴더로 사용자의 SID(Security Identifier)별로 각각의 파일 시스템에 폴더가 생성된다.

사용자의 SID는 레지스트리 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\ProfileList에서 확인이 가능하다.

Windows NT/200/XP 에서는 RECYCLER 라는 폴더명을 사용하고, Vista 이상에서는 $RECYCLE.BIN 폴더명을 사용한다.

휴지통에서 삭제된 파일들의 정보를 관리하기 위한 목적으로 INFO2 파일에 원본파일 경로 및 이름,

휴지통 내의 파일 식별자, 원본 파일이 위치하고 있던 드라이브의 번호, 파일이 삭제된 날짜 및 시간,

원본파일의 크기 등이 기록되며 Vista 이상의 Windows 시스템에서는 $I로 시작하는 파일이 사용된다.


[FTK imager로 본 $Recycle.Bin의 모습]


< C:\System Volume Information\ >

Windows Me 이상의 이후부터는 시스템 복원 기능이 존재하며 기본적으로 활성화 되어 있어

Windows 시스템의 복원 도구가 해당 정보와 복원 지점을 저장하기 위해 사용하는 숨겨진 시스템 폴더이다.

System Restore Service가 활성화 된 경우에는 설정된 모든 파일시스템에서

System Volume Information 폴더가 생성된다.


시스템 복원 기능은 시스템 보호를 위해 정기적으로 복원 지점을 만들고 저장한 후, 시스템이 정상적으로 동작하지 않을 경우 복원 지점을 이용해 이전 상태로 시스템 파일과 레지스트리 값을 되돌리게 된다.

기본적으로 복원되는 항목은 레지스트리, filelist, xml 파일의 <include> 부분에 확장자가 포함된 파일이다.

사용자가 만든 데이터, 위치가 변경된 폴더, SAM Hive 파일, Windows 시스템 인증정보, filelist.xml 파일에서 <exclude>부분에 포함된 폴더 및 파일은 복원지점에 데이터로 저장하지 않는다.

Windows Vista 부터는 복원 지점과 백업 기능을 결합한 VSS(Volume Shadow Copy) 를 이용해 시스템 복원을 수행한다.


[FTK imager로 본 System Volume Information 모습]



반응형
반응형

* 리눅스에서는 tail -f 명령어를 사용하여 실시간으로 로그를 확인할 수 있었는데

윈도우에서도 특정 프로그램의 로그파일을 실시간으로 확인을 해야할 일이 있어

찾아본 결과 윈도우에서도 tail 프로그램이 존재했다.


[다운로드]

다운로드는 아래에서 경로에서 다운이 가능하다.

https://sourceforge.net/projects/tailforwin32/files/Tail/


[실행방법]

다운을 받고 압축을 풀어주면 별도의 설치 없이 바로 실행이 가능하다.


[실행화면]


좌측 상단에 File 탭을 누르고 Open을 눌러주면



열기 창이 나타난다. 기본으로 파일 형식은 확장자가 *.log로 되어있다.



하지만 내가 확인해볼 로그는 확인해보니 log확장자 뒤에 rotate 형식으로 .숫자가 붙는 형식이여서 파일 형식에서 모든 파일로 변경해주고 나니 로그들이 보이기 시작했다.


실시간으로 확인해볼 로그를 클릭해보고 해당 프로그램을 구동해보자.



이렇게 한쪽은 프로그램 창 다른한쪽은 로그 프로그램으로 해놓고 보면 프로그램이 실행하면서 쌓는 로그들을 바로 볼 수 있다.

(위에 play 버튼이랑 pause scrolling 버튼이 있으나 그닥 쓸모는 없는 것 같다.)


사실 tail 프로그램이 매우 심플하여 다른 설명은 따로 필요 없을 것 같다.





반응형
반응형


[논리적 쓰기방지 방법] -> 레지스트리 수정 방법


실행 -> regedit 실행



가. 레지스트리 수정 - NTFS파일시스템(Win7) 레지스트리 수정       

Key: HKLM\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

Name : WriteProtect

Value : 0x00000000(쓰기방지 해제), 0x00000001(쓰기방지 설정) Dword 생성


* HKLM(HKEY_LOCAL_MACHINE)


값이 1이면 쓰기 금지, 0이면 쓰기 허용


[DISKPART 명령어로 쓰기 금지 활성화 되어있는지 확인 방법]


cmd에서 diskpart 를 실행(관리자 권한으로 실행)


> list disk 로 디스크 확인



> select disk 1 으로 해당 드라이브로 이동



> attributes disk 명령어를 입력하면 현재 읽기 전용 상태에 : 예 로 표시가 된다.



그리고 예를 들어 사진을 하나 복사하려고 하면 다음과 같은 경고창이 뜰 것이다.



포렌식 수사를 진행할때 USB안에 데이터를 임의로 쓰거나 하게 되면 데이터의 시간이나

일부가 변경되므로 증거로 사용할 수 없게 된다.

따라서 무결성을 위해서 쓰기방지를 하고 수사를 진행하는 것이 좋다.



반응형
반응형

파일의 퍼미션의 이해와 설정법

퍼미션(permission): 특정파일이나 디렉토리에 대하여 읽기, 기록하기, 삭제하기 등의 권한을 설정해 놓은 것으로 다중사용자 운영체제(Multi-User Operating System)에서 파일의 접근권한과 보호등을 위하여 반드시 필요한 것이다.


퍼미션 변경 명령어 : chmod


<파일과 디렉토리의 퍼미션(권한)의 의미>


퍼미션

일반적인의미

파일

디렉토리

r

읽기(read)권한

파일을 읽을 수 있음

디렉토리의 내용을 볼 수 있음

(ls로 파일리스트 확인가능)

w

쓰기(write)권한

파일에 저장, 삭제할 수 있음

디렉토리에 파일저장, 디렉토리이름 변경, 삭제등 가능

x

실행(execution)권한

파일을 실행할 수 있음

디렉토리에 접근할 수 있음(cd 로 접근가능, ls로 리스트는 불가)

s

SetUID, SetGID 권한

파일소유자(SetUID), 그룹소유자(SetGID)의 권한으로 실행함

t

Sticky Bit 권한

공유디렉토리로 사용됨


[2진수, 8진수와 퍼미션의 표시관계]


2진수

8진수

표시 퍼미션

의 미

000

0

---

아무런 권한이 없음

001

1

--x

실행(eXecution)권한만 있음

010

2

-w-

쓰기(Write)권한만 있음

011

3

-wx

쓰기와 실행권한만 있음

100

4

r--

읽기(Read)권한만 있음

101

5

r-x

읽기와 실행 권한만 있음

110

6

rw-

읽기와 쓰기 권한만 있음

111

7

rwx

읽기, 쓰기, 실행권한이 있음


[root@kangtest ~]# ls -l

합계 10356

-rw-------. 1 root root 1718 2014-12-10 18:43 anaconda-ks.cfg

-rw-r--r--. 1 root root 10507647 2014-12-14 15:50 etc.tgz

-rw-r--r--. 1 root root   146 2014-12-15 17:41 hard_sourcefile

-rw-r--r--. 1 root root 45632 2014-12-10 18:43 install.log

-rw-r--r--. 1 root root 10033 2014-12-10 18:41 install.log.syslog

-rw-r--r--. 1 root root   140 2014-12-15 15:23 linux.txt

drwxr-xr-x. 2 root root 4096 2014-12-15 10:56 movie

lrwxrwxrwx. 1 root root    18 2014-12-15 18:08 rc.local.link -> /etc/rc.d/rc.local

drw-r--r--. 2 root root 4096 2014-12-15 13:46 sulinux

-rw-r--r--. 1 root root    91 2014-12-15 17:48 sym_sourcefile

drwxr-xr-x  7 root root 4096 2014-12-16 13:37 xtables-addons-1.37


  •                 r        w      x         r   -   x                      r   -   x

-----------             ------------------------      ------------                    ------------

파일유형             소유자권한부분       그룹소속자권한부분      일반다른사용자권한부분


파일유형

  • : 일반파일 임을 의미함

b  : 블럭구조의 특수파일(Block Special File)을 의미함 (예: /dev/sda)

c   : 입출력에 사용되는 특수파일(Character Special File)을 의미함 (예, /dev/console)

d   : 디렉토리(Directory)를 의미하며, 디렉토리도 하나의 특수파일로 취급됨.

l    : 심벌릭링크파일(Link File)임을 의미함.

 p   : 파이프파일(Pipe)임을 의미함.

s   : 소켓파일(Socket)임을 의미함.


퍼미션 설정하는 방법

  1. 8진수 숫자 이용 (주로 많이 사용)

         -rw-r--r-- 1 root root 0 2015-01-05 18:03 test

         [root@kangtest test]# chmod 755 test

         [root@kangtest test]# ls -l test

        -rwxr-xr-x 1 root root 0 2015-01-05 18:03 test


  1. 퍼미션 심볼문자 이용

        [root@kangtest test]# chmod a+w test

        [root@kangtest test]# ls -l

        합계 0

       -rwxrwxrwx 1 root root 0 2015-01-05 18:03 test


한번에 여러개의 퍼미션 동시에 설정하기


디렉토리에 들어가서 chmod 755 p* 를 입력한다면 디렉토리 안에 모든 파일들의 퍼미션은 755로 바뀌어있다.


<특정 디렉토리내의 모든 파일에 대하여 동시에 퍼미션 설정하기>


ex) www 디렉토리안에 파일의 퍼미션을 바꾸고자 한다면(755)


chmod -R 755 www 라고 치면 www디렉토리 안에 파일의 퍼미션은 모두 755로 바뀌어져있다.




반응형
반응형

parted 명령어를 통해서 32bit 는 16TB , 64bit 는 1EB까지 지원이 가능한 것으로 나온다.


parted를 통해 gpt로 21TB를 파티션을 나누고 ext4로 포맷을 하려고 하면 다음과 같은 상황을 만나게 된다.


Disk /dev/sdb: 21000.0 GB, 20999993032704 bytes  → 21TB

255 heads, 63 sectors/track, 2553103 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk identifier: 0x00000000


  Device Boot   Start      End   Blocks   Id  System

/dev/sdb1            1   267350  2147483647+  ee  GPT

Partition 1 does not start on physical sector boundary.


[root@localhost ~]# mkfs.ext4 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

mkfs.ext4: Size of device /dev/sdb1 too big to be expressed in 32 bits

   using a blocksize of 4096.


16TB이상 포맷을 가능하게 하려면 다음과 같이 수정이 필요하다.


편집기로  /etc/mke2fs.conf에 들어가서


[defaults]

    base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr

    enable_periodic_fsck = 1

    blocksize = 4096

    inode_size = 256

    inode_ratio = 16384


[fs_types]

    ext3 = {

            features = has_journal

    }

    ext4 = {

            features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize

           auto_64-bit_support = 1 # add from jjkang 2016.01.07 ← 이 부분을 추가한다.

            inode_size = 256

    }

    ext4dev = {

            features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize

            inode_size = 256

            options = test_fs=1

    }


[git 설치]

필요 패키지 설치

yum install gcc

yum install kernel-devel

yum install zlib-devel

yum install openssl-devel

yum install perl

yum install expat-devel

yum install gettext-devel

yum install autoconf

yum install perl-ExtUtils-MakeMaker

yum install curl


wget http://curl.haxx.se/download/curl-7.46.0.tar.gz

tar zxvf curl-7.46.0.tar.gz

cd curl-7.46.0

./configure

make

make install


vi /etc/ld.so.conf에

/usr/local/lib 추가

ldconfig


wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.xz

unxz git-latest.xz

git-현재날짜.tar 파일이 생성

tar xvf git-현재날짜.tar

cd git-현재날짜/

./configure --with-curl/usr/local

make

make install


git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git

cd e2fsprogs

mkdir build ; cd build/

../configure

make

make install


** mke2fs는 -i 라는 옵션을 이용하여 아이노드 당 바이트 수 (bytes-per-inode)를 지정하여 파일시스템을 생성할 수 있다. 이때 주의할 점은 -i 옵션으로 주어지는 값은 최소 1024이상은 되어야한다는 것이다. -i 옵션없이 그냥 mke2fs가 사용되면 기본값으로 4096이 주어지게 된다.


>> 1024 * 128 = 131072

Warning : The exitsting disk label on /dev/sdb will be destoryed and all data on the disk will be lost. Do you want to continue?

라는 경고창이 혹시 뜬다면, parted로 파티션을 다시 나누고 진행할 것


[root@localhost build]# mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 131072 /dev/sdb1

mke2fs 1.43-WIP (18-May-2015)


Warning: the fs_type huge is not defined in mke2fs.conf


Creating filesystem with 5126950912 4k blocks and 160218112 inodes

Filesystem UUID: 5c151619-d2cf-40af-8988-6f4cb400a3e1

Superblock backups stored on blocks:

   32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

   4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,

   102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,

   2560000000, 3855122432


Allocating group tables: done                       

Writing inode tables: done                       

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done    


This filesystem will be automatically checked every 24 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.


하면 정상적으로 생성이 된다.




반응형

+ Recent posts