개요

개요

어떤 상황에서는 Windows 설치를 한 컴퓨터에서 다른 컴퓨터로 이동하는 것(하드 드라이브를 물리적으로 이동하는 것)이 어려울 수 있다는 것을 알고 있지만 Linux에서는 어떻게 작동합니까? 부팅 시 대부분의 드라이버 모듈이 로드되지 않습니까? 그러면 이론적으로 그렇게 번거로울까요?

분명히 xorg 구성이 변경되고 독점 ATI 드라이버가 변경되므로 다시 컴파일해야 합니다(아마도?). 내가 생각하는 것보다 더 많은 것이 있습니까?

두 컴퓨터가 동일한 시대에 속해 있다고 가정합니다. 예를 들어 두 컴퓨터 모두 i7이지만 하드웨어는 약간 다릅니다.

업데이트:
답변해 주셔서 감사합니다. 이것은 대부분 내 자신의 호기심을 위한 것입니다. 저는 직장에서 Linux 시스템을 가동하고 있지만 결국에는 두 개 이상의 모니터를 실행할 수 있도록 듀얼 비디오 카드를 장착할 수 있는 컴퓨터로 옮기고 싶습니다. 그러나 곧은 아니다.

답변1

소스 및 대상 프로세서가 동일한 아키텍처(예: 둘 다 x86, 둘 다 x64, 둘 다 arm…)라고 가정하면 Linux 설치를 이동하거나 복제하는 것은 매우 쉽습니다.

움직이는

이동할 때 하드웨어 종속성을 관리해야 합니다. 그러나 대부분의 사용자는 xorg.conf부트로더(최신 배포판에서는 이를 필요로 하지 않는 경향이 있음) 외에는 어떤 어려움도 겪지 않을 것입니다 .

  • 디스크 구성이 다른 경우 디스크 구성을 재구성해야 할 수도 있습니다.부트로더그리고파일 시스템 테이블( 암호화를 사용하는 경우, /etc/fstabmd RAID를 사용하는 경우). 부트로더의 경우 가장 쉬운 방법은 디스크를 새 시스템에 넣고 배포판의 라이브 CD/USB를 부팅한 후 부트로더 수정 도구를 사용하는 것입니다./etc/crypttab/etc/mdadm.conf

    디스크를 물리적으로 이동하는 대신 데이터를 복사하는 경우(예를 들어 하나 또는 두 시스템 모두 Windows로 듀얼 부팅하는 경우) 전체 파티션을 복사하는 것이 더 빠르고 쉽습니다((G)Parted 또는 dd).

  • 당신이 가지고 있다면xorg.conf디스플레이 관련 옵션(예: 전용 드라이버 관련)을 선언하기 위한 파일인 경우 대상 시스템에 다른 그래픽 카드나 다른 모니터 설정이 있는 경우 수정해야 합니다. 또한 다음을 설치해야 합니다.독점 드라이버해당되는 경우 이동하기 전에 대상 시스템의 그래픽 카드를 확인하십시오.

  • 선언했다면모듈 옵션또는 블랙리스트가 있는 경우 /etc/modprobe.d대상 시스템에 맞게 조정해야 할 수도 있습니다.

복제

설치 복제에는 이동과 동일한 하드웨어 관련 문제가 포함되지만 새 시스템에 새로운 ID를 부여하기 위해 처리해야 할 몇 가지 사항이 더 있습니다.

  • 새 시스템에 새 이름을 지정하려면 편집하세요 . 아래에서 해당 호스트 이름과 일치하는 다른 항목을 검색합니다 . 일반적인 위치는 (127.0.0.1의 별칭) 및 기타 메일 시스템 구성입니다./etc/hostname
    /etc/etc/hosts/etc/mailname

  • 재생성SSH 호스트 키.

  • 필요한 사항을 변경하십시오.네트워킹 구성(예: 고정 IP 주소).

  • RAID 볼륨의 UUID를 변경합니다(필수는 아니지만 혼동을 피하기 위해 권장됨). 예: mdadm -U uuid.

또한보십시오Ubuntu를 대상으로 한 단계별 복제 가이드.

현재 데스크탑 컴퓨터 설치는 두 개의 RAID-1 미러링 디스크 중 하나를 분리하여 새 컴퓨터로 옮긴 다음 이미 존재하는 디스크에 RAID-1 볼륨을 생성하고 미러를 재동기화한 후 설명된 변경 사항을 적용하여 이전 컴퓨터에서 복제되었습니다. 해당되는 경우 위.

답변2

이것이 귀하의 질문에 대한 답변인지 확실하지 않지만 일반적으로 정반대의 작업을 수행합니다. 즉, 사용자 폴더를 이동하고 모든 것을 다시 설치합니다. 이론적으로 모든 사용자 정의 파일과 개별 구성 파일은 사용자 폴더에 있어야 하므로 실제로 전송해야 할 파일은 그것뿐입니다.

dpkg --list일부 패키지 관리자에는 설치된 모든 패키지(Debian/Ubuntu have , Gentoo has 등) 를 나열하는 방법이 있으므로 /etc/world다음을 수행할 수 있습니다.

  1. 새 시스템에 기본 배포판 설치
  2. "다른 컴퓨터에 있던 모든 패키지를 설치하세요"라고 말하세요.
  3. 사용자 폴더 복사

그리고 기능적으로 동일한 시스템으로 끝나야 합니다.

답변3

실제로 Windows에서는 하드 드라이브 내용을 복사하거나 PC 간에 하드 드라이브를 전환하는 것만으로 설치를 새 PC로 옮기는 것이 거의 불가능하지만 Linux에서는 놀라울 정도로 잘 작동합니다. 저는 기존 하드 드라이브의 내용을 새 하드 드라이브에 복사하여 Thinkpad R52에서 Thinkpad T400으로 전환했습니다. (이전 하드 드라이브를 USB를 통해 연결된 외부 클로저에 넣고 모든 것을 Gparted-Live-CD에 복사) 그 후에 내가 해야 할 일은 Grub을 MBR에 수동으로 넣고 부팅하는 것뿐이었습니다. 모든 것이 여전히 나에게 효과적이었습니다.

Michael이 말했듯이, 일반적으로 새 PC는 시간이 지남에 따라 쌓인 찌꺼기를 제거할 수 있는 좋은 기회입니다. 그러나 때로는 매우 빠르게 다시 작업을 시작해야 하고 모든 드라이버가 포함되어 있으므로 하드 드라이브 내용을 복사하는 것만으로도 Linux에서 잘 작동합니다. 커널의 드라이버는 설치 없이 커널에서 사용할 수 있습니다. 요즘에는 드라이버가 modprobe.conf에 수동으로 나열되는 대신 자동으로 로드되며 심지어 xorg도 자동으로 구성됩니다.

기존 PC에서 드라이버(예: Raid 시스템, 독점 그래픽 드라이버 등)를 수동으로 구성해야 하는 경우에만 문제가 발생할 수 있습니다.

답변4

개요

최근에 저는 Arch Linux 설치를 다른 드라이브로 옮겼습니다.더 작은원래 드라이브보다

원래 드라이브는 하나의 파티션만 사용하여 작업을 단순화했습니다. 루트 파티션과 별도의 부팅 파티션이 있는 경우여기 답이 있어요그게 당신에게 도움이 될 수도 있어요.

단계는 다음과 같습니다.

  1. 데이터를 백업하세요.
  2. 대상 드라이브에 ext4 파일 시스템을 포함하는 파티션을 만듭니다.
  3. 원본 파티션의 모든 데이터를 대상 파티션으로 복사합니다.
  4. 설치하다애벌레대상 드라이브의 부트로더로.

힌트

시작하기 전 힌트: 연결된 장치(예: /dev/sdb)의 경로를 결정하고 일반적으로 장치 및 파티션의 상태를 감시하기 위해 다음을 사용합니다.watch와 결합lsblk:

watch lsblk -o tran,name,model,fstype,label,mountpoints,fssize,fsavail,fsused,fsuse%

2초마다 업데이트되고 다음과 같은 출력이 생성됩니다.

TRAN   NAME   MODEL                   FSTYPE LABEL        MOUNTPOINTS                FSSIZE FSAVAIL FSUSED FSUSE%
sata   sda    SanDisk SSD PLUS 1000GB
        ├─sda1                         ext4   VM partition /sda1                        108G     50G  53.4G    49%
        └─sda3                         ext4                /                            808G  561.3G 205.7G    25%
usb    sdb    SABRENT
        └─sdb1                         ext4   new_daedalus /run/media/me/new_daedalus  29.2G   25.3G   2.4G     8%
sata   sr0    MATSHITADVD-RAM UJ8A2

한 파티션의 내용을 다른 파티션으로 복사할 예정이므로 많은 공간을 차지하는 불필요한 부분을 제거하는 것이 좋습니다. 다음을 사용하여 소스 파티션을 확인하세요.ncdu가장 많은 데이터가 포함된 디렉토리의 경우 가능하면 삭제하거나 이동합니다.

또 다른 점은 다음과 같은 SATA-USB 어댑터를 사용한다는 것입니다.이것들소스 및 대상 드라이브를 내 컴퓨터에 연결합니다.

세부

데이터를 백업했고 대상 드라이브가 에 있다고 가정하고 /dev/sdb자세히 살펴보겠습니다.

  1. 대상 드라이브에 ext4 파일 시스템을 포함하는 파티션을 생성합니다:

    • Linux 파티션 생성(0x83을 입력하세요에서MBR):
      sudo sfdisk /dev/sdb <<< "type=83"
      
    • 새 파티션에 파일 시스템을 만듭니다.
      sudo mkfs.ext4 -L new_partition /dev/sdb1
      
  2. 소스 파티션의 모든 데이터를 대상 파티션으로 복사합니다.

    • 다음은 이전 파티션과 새 파티션이 모두 마운트되었다고 가정합니다.
      sudo rsync -a --hard-links --delete --progress --human-readable --stats /run/media/me/old_partition/ /run/media/me/new_partition/
      
    • 나는 사용했다rsync여기. cp동일한 결과를 얻기 위해 good old를 사용할 수도 있습니다 .
      sudo cp --recursive -a /run/media/me/old_partition/* /run/media/me/new_partition/
      
  3. 설치하다애벌레대상 드라이브의 부트로더로:

    • 다음을 실행하는 데 필요한 가상 파일 시스템을 새 파티션에 추가합니다 grub-install.
      sudo mount --bind /dev /run/media/me/new_partition/dev; sudo mount --bind /proc /run/media/me/new_partition/proc
      
    • 새 파티션의 루트를 현재 루트로 만듭니다.
      sudo chroot /run/media/me/new_partition/
      
    • 대상 드라이브에 GRUB를 설치합니다(참조:이것여기서 무슨 일이 일어나는지에 대한 자세한 내용은 다음을 참조하세요.)
      grub-install /dev/sdb; grub-mkconfig -o /boot/grub/grub.cfg
      
    • + 또는 chroot로 종료Ctrldexit
    • 가상 파일 시스템과 파티션 자체를 마운트 해제합니다.
      sudo umount --recursive /run/media/me/new_partition
      

new_partition이제 드라이브에 설치된 Linux를 사용할 수 있습니다 /dev/sdb.

관련 정보