bsdlabel을 사용하여 FreeBSD에서 파티션 크기 변경

bsdlabel을 사용하여 FreeBSD에서 파티션 크기 변경

최근에 FreeBSD를 설치했는데 설치 중에 허용되는 파티션 크기가 마음에 들지 않아서 변경하고 싶습니다. 맨 페이지의 지침을 따랐기 때문에 루트로 이 작업을 수행했습니다.

# bsdlabel -e ad0s2

(ad0s2는 FreeBsd가 설치된 파티션입니다.) 변경한 후 저장하고 종료하려고 하는데 다음 메시지가 나타납니다.

/tmp/EdDk.RBNU2c8vnz: unmodified: line 1
bsdlabel: cannot open provider /dev/ad0s2 for writing label: Operation not permitted
re-edit the label? [y]:

다시 편집하려고 하면 같은 메시지가 다시 나타납니다. 아무것도 변경하지 않고 저장하려고 하면 이 메시지가 나타납니다. 저는 FreeBSD를 처음 접했고 디스크 레이블을 변경하기 전에 뭔가를 해야 한다고 생각했지만 그런 정보를 어디서도 찾을 수 없습니다. 누구든지 나를 도와줄 수 있나요? 감사해요!

답변1

GEOM 디버그 플래그에서 "발샷"을 활성화했습니까?

# sysctl kern.geom.debugflags=16

답변2

나는 무엇을 모른다정확히이 작업을 시도하고 있지만 디스크 레이블을 편집하여 파일 시스템 크기를 조정할 수는 없습니다.

이것오직파일 시스템의 크기를 조정하는 방법은 Growthfs(8)를 사용하는 것이지만 이것은 끝에 크기를 추가해야만 작동하며, 방해가 되는 다른 파일 시스템이 있으면 작동하지 않습니다. 그림으로 설명하자면 다음과 같습니다.

Before:    After:
+-----+    +-----+
| fs1 |    + fs1 +
+-----+    |     |
|     |    +-----+
| fs2 |    | fs2 |
+-----+    +-----+

보시다시피 fs1을 확대한다는 것은 fs2의 시작 부분을 이동하는 것을 의미합니다. 이는 FreeBSD의 UFS가 할 수 있는 일이 아닙니다. 그래서 이렇게 디스크 레이블을 편집하면 fs1은 괜찮지만 fs2는 깨집니다.

즉, 설치 시 선택한 파일 시스템 크기가 마음에 들지 않으면 백업하고 다시 설치하거나 이를 수락해야 합니다.

즉, sysctl kern.geom.debugflags=16이를 사용하여 어쨌든 변경할 수 있습니다(이렇게 하면 마운트된 디스크의 파티션 레이블 및/또는 디스크 레이블을 편집할 수 있습니다).

답변3

gpartMBR 파티션 테이블과 BSD 디스크 레이블은 언제든지 수정할 수 있습니다 . 예를 들어, ada0 유형 샤드 1의 파티션 b 유형을 변경하려면 다음과 같이 하세요.

# gpart modify -i 2 -t freebsd-ufs /dev/ada0s1 

관련 정보