이렇게 하는 이유

이렇게 하는 이유
# parted /dev/sda print
Model: ATA WDC WD7500BPVT-2 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system Flags
 1      1049kB  211MB   210MB   primary  ext4        boot
 2      211MB   21.7GB  21.5GB  primary  ext4
 3      21.7GB  34.6GB  12.9GB  primary  ext4
 4      34.6GB  750GB   716GB   primary  ext4

# mount /dev/sda2 /mnt
# mount /dev/sda1 /mnt/boot
# mount /dev/sda3 /mnt/var
# mount /dev/sda4 /mnt/home
# df /dev/sda?
Filesystem  ... Use% ...
/dev/sda1       36%
/dev/sda2       91%
/dev/sda3       94%
/dev/sda4       11%

BIOS-MBR. 랩탑. NEC의 LL750/E. 이전에는 Windows 7이었는데 새 OS를 설치할 때 제거되었습니다. 아치 GNU/Linux 사용자. 준비가 되었기 때문에 Arch GNU/Linux 라이브 USB를 만들고 싶습니다. 더 많은 정보가 필요하십니까?

이렇게 하는 이유

  • 처음에는 무작위 기사를 보고 이 섹션을 하기로 결정했습니다.
  • 점점 더 설치하려고 하면 실패합니다.
  • 그러다가 단일 파티션이면 많은 사람들에게 충분할 것이라는 조언을 받았습니다.
  • 그런데 /boot와 /를 분리해야 할까요?

이 절차가 맞나요?

  1. 파티션 번호 3과 4를 지웁니다.
  2. 성장 파티션 2.
  3. 파티션 2의 파일 시스템에서도 마찬가지입니다.
  4. fstab을 리메이크하세요.

다른 사람들이 물었고 나는 생각했다.

  • 나에게 맞는 사람은 누구라고 생각하는가?

폴리스티렌

  • 방금 다음을 제안했습니다. 1. 새 사용자를 만듭니다. 2. 모든 것을 /home으로 옮깁니다.
  • 또한 보안을 강화하려면 GParted를 사용하는 것이 좋습니다.
  • 하지만 내가 찾았어이것;이것의 목적은 e2fsck -f /dev/sda4; resize2fs /dev/sda4 566G누군가 제안한 대로 100G의 여유 공간을 만들어 새 파티션으로 만들고 / 및 /var의 내용을 거기에 복사하는 것입니다. ...하지만 -M매뉴얼 페이지에 나와 있듯이 이 작업을 수행할 수 있습니까?
  • OBTW 프로세스는 다음과 같습니다. 1. /home을 가능한 작게 만듭니다. 2. 마지막으로 100G의 새 파티션을 만듭니다. 3. 포맷합니다. 4. /var 및 /home 백업, 5. /var 및 /home 삭제, 6 /를 확장하고, 7. /var 및 /home의 백업을 /에 복사하고, 8. 마지막 파티션을 삭제하고, 9. /를 확장합니다.
  • 지금 하고 있어요 resize2fs -M /dev/sda4. 아, 각 파티션의 크기를 섹터 단위로 붙여넣어야겠네요.
  • 완료: The filesyste on /dev/sda4 is now 18722376 (4k) blocks long.그런데 WTF가 파티션 크기를 정확한 크기로 조정했는데 아직 마운트할 수 없나요?

현재(문서화되지 않음: 변경되지 않음):

# parted /dev/sda unit s print free
...
No. Start End Size ... File system
    63s 2047s 1985s     Free space
1 2048s 411647s 409600s ext4
2 411648s 42354687s 41943040s ext4
3 42354688s 67520511s 25165824s ext4
4 67520512s 86242887s 18722376s ext4
    86242888s 1465149167s 1378906280s    Free space

답변1

아래의 모든 지침은 다음으로 시작됩니다.

시간을 갖고 조심하고 체계적으로 행동하십시오. 실수로 현재 파일 시스템을 지우고 싶지는 않습니다.

이를 수행하는 방법에는 2.5인치 드라이브와 외부 USB 도크가 있는지 또는 구입할 여력이 있는지에 따라 두 가지가 있습니다(독립형 휴대용 드라이브는 구입하지 마십시오).그리고노트북을 열고 드라이브를 교체하려는 경우(또는 하드웨어 작업을 대신해 줄 수 있는 친구가 있는 경우)

현재 1TB SATA 2.5" SSD는 최저 AU$125에 판매되고 있습니다. 미국 달러로 환산하면 $90 미만입니다. 노트북이 NVME SSD(3Gbps 이상의 NVME)를 지원하는 경우와 비교하여 가격이 거의 동일하며 확실히 구매할 가치가 있습니다. . SATA(~550Mbps와 비교) 또한 NVME 드라이브를 사용하는 경우 전송을 위해 외부 드라이브 도크가 필요하지 않습니다.

제 생각에는 두 번째 드라이브는 필수입니다. 모든 것을 새 드라이브로 옮기지 않으면 어쨌든 다른 작업을 수행하기 전에 전체 백업이 필요하기 때문입니다. 파티션 크기를 조정하고 이동하면 사람의 실수, 전원/배터리 오류, 우주선, 약탈자 또는 기타 이유로 인해 드라이브의 모든 콘텐츠가 손실될 위험이 상당히 높습니다. 백업이 없다면 이 작업을 고려하지 마세요.

모든 것을 새 드라이브로 옮기려는 경우 기존 드라이브를 백업으로 사용할 수 있습니다.

나는 비슷한 일을 수백 번은 아니더라도 수십 번 해왔습니다. 내 일반적인 프로세스는 다음과 같습니다. 모든 시스템에는 고유한 특징이 있으므로 필요에 따라 조금씩 조정할 준비를 하십시오.

이것은 이해 없이 맹목적으로 따라야 할 단계가 아닙니다.

각 단계의 목적을 이해할 때까지 모든 내용을 반복해서 읽으세요. 그런 다음 시스템에 적합한 자신만의 계획 버전을 작성하십시오. 계획을 주의 깊게 검토하여 잊어버린 것이 없거나 실수한 것이 없는지 확인하십시오.

새 드라이브 사용:

  • 전원을 끄고 외장 드라이브를 연결하세요. NVME 드라이브인 경우 설치하세요.

  • Live CD를 부팅하고 루트 쉘을 얻으십시오. 또는 gpartedGUI 파티셔닝 및 포맷의 경우.

  • 새 드라이브는 /dev/sdb또는 일 수 있습니다 /dev/nvme0n1. 아니면 완전히 다른 것일 수도 있습니다. 가서 lsblk | grep disk한번 보세요.

  • 필요에 따라 파티션을 나누고 포맷하세요. 가장 쉬운 방법은 작은 파티션(스왑용 <= 4GB)과 큰 파티션(/ 및 그 아래의 모든 항목용)을 갖는 것입니다.

컴퓨터를 최대 절전 모드/일시 중단하려면 스왑 파티션에 RAM 크기를 두 배로 할당하십시오.

UEFI BIOS가 있는 컴퓨터에 이 드라이브를 넣을 계획이라면 작은(512MB 정도) EFI 파티션을 /boot/EFI.

다음 작업은 모두 루트 셸에서 수행되어야 합니다.

  • 귀하의 질문에서 알 수 있듯이 이전 /, /boot, /var 및 /home은 /mnt 아래에 설치됩니다.

  • 새로운 /를 /target으로 마운트

  • 달리기rsync -av --progress --human --human /mnt /target/

  • 실행 for i in proc dev sys ; do mount -o bind /$i /target/$i ; done(이것은 필수이므로 grub이 chroot에 필요한 것을 갖습니다)

  • chroot /target

  • NEW/ 파티션에서 마운트 /etc/fstab되도록 편집 하고 다른 모든 파일 시스템을 제거하거나 주석 처리합니다. /스왑 파티션에 대한 항목을 추가하거나 업데이트할 수도 있습니다.

  • grub-install /dev/sdX (여기서 sdX는 새 드라이브의 장치 노드입니다)

  • update-grub

  • exitchroot를 종료합니다.

  • 도망 sync가는 건 편집증이 나쁜 게 아니니까

시스템을 종료하고 새 드라이브를 시스템으로 교체할 수 있어야 합니다.

새 드라이브는 SSD이므로 더 빨라야 합니다. 때때로 RAM이 부족한 경우 SSD에 스왑 공간을 확보하는 것도 도움이 될 수 있습니다.

추가 드라이브 없음:

이 방법은 /home(/dev/sda4)에서 사용 가능한 모든 공간을 사용합니다.

  • Live CD를 부팅하고 루트 쉘을 얻으십시오.
  • 귀하의 질문에서 알 수 있듯이 이전 /, /boot, /var 및 /home은 /mnt 아래에 설치됩니다.
  • mkdir /mnt/home/home
  • mv /mnt/home/* /mnt/home/home/
  • 실행하여 ls -ld /mnt/home/home권한이 있는지 확인하십시오 drwxr-xr-x. 그렇지 않은 경우 을 실행하십시오 chmod 755 /mnt/home/home.
  • 달리기mv /mnt/[^h]* /mnt/home

h그러면 /mnt/home ) to/mnt/home . If you have other dirs in /mnt that begin withh mv`로 (unlikely) you'll have to시작하지 않는 /mnt의 모든 파일과 하위 디렉터리가 이동됩니다 .

좋아, /, /var 및 /boot의 모든 항목은 이제 새로운 / 파티션(/dev/sda4, 예전에는 /home이었던 것)이어야 하며 /home은 이제 별도의 파티션 분할이 아닌 /의 하위 디렉터리가 됩니다. .

  • /mnt 아래의 모든 항목을 제거합니다. Run은 sync모든 버퍼를 디스크로 플러시합니다.

  • gpartedsda1, sda2, sda3을 실행 하고 삭제합니다.

    • /dev/sda1로 작은 스왑 파티션을 만듭니다. 노트북을 잠시 보관할 계획이라면 더 큰 노트북을 가져가도 됩니다.
    • 스왑 파티션 바로 뒤에 /dev/sda4를 이동하십시오. /dev/sda2로 번호를 다시 매길 수도 있고 그렇지 않을 수도 있습니다(정확히 기억이 나지 않습니다. 이름 바꾸기는 선택 사항일 수 있습니다).
    • 디스크의 남은 공간을 차지하도록 /dev/sda4 크기를 조정하세요.

gparted이것이 원하는 것인지 확인한 후에는 이동 및 크기 조정을 단일 작업으로 수행하는 것이 가능할 수 있습니다.

  • mount /dev/sda4 /mnt (또는 번호가 다시 매겨진 경우 /dev/sda2)
  • for i in proc dev sys ; do mount -o bind /$i /mnt/$i ; done
  • chroot /mnt
  • 이전 파티션 에서 설치 /etc/fstab하도록 편집됨//home
  • grub-install /dev/sda
  • update-grub
  • exitchroot 종료
  • sync

크기가 조정된 시스템으로 재부팅할 수 있어야 합니다.

관련 정보