  Hard Disk Upgrade Mini How-To
  Yves Bellefeuille, yan@ottawa.com Diterjemahkan oleh Yaya
  Heryadi, yheryadi@necnusa.co.id
  Version 1.0, 31 January 1998 Terj. 31 Jan 1999

  Bagaimana mengcopy sebuah sistem Linux dari sebuah hard disk ke dalam
  sebuah hard disk yang lain.
  ______________________________________________________________________

  Daftar Isi


  1. Menginstal kedua disk ke dalam sistem Anda

  2. Melepaskan (

  3. Pembuatan partisi di dalam disk baru

  4. Memformat disk baru

  5. Pemasangan (

  6. Meng-copy file-file dari disk lama ke dalam disk baru

  7. Memodifikasi

  8. Mempersiapkan LILO untuk memboot disk yang baru

  9. Melepaskan disk lama

  10. Mem-boot ulang  sistem, Menginstal LILO di dalam disk baru

  11. Catatan dari penterjemah



  ______________________________________________________________________

  Baru-baru ini penulis telah mengganti sebuah hard disk milik penulis
  yang berukuran 249 MB dengan sebuah hard disk yang berukuran lebih
  besar. Penulis ingin mentransfer keseluruhan sistem Linux, termasuk
  LILO, dari disk yang lama ke dalam sebuah disk yang baru. Berikut ini
  adalah uraian mengenai apa yang telah dilakukan penulis.

  Dalam uraian berikut, penulis menggunakan notasi-notasi /dev/hda untuk
  menunjukkan disk yang lama, dan /dev/hda1 bagi partisi Linux yang
  lama. /dev/hdb bagi disk yang baru, serta /dev/hdb1 bagi partisi Linux
  yang baru.

  Dokumen ini didasarkan kepada sistem yang penulis miliki,  yang
  mengoperasikan  Red Hat 4.2, dan  penulis telah menguji seluruh
  perintah yang disediakan distribusi tsb.  Penulis telah menguji hal
  yang sama di dalam distribusi-distribusi Debian 1.3.1 dan Slackware
  3.3, dan penulis memberikan indikasi mengenai adanya beberapa
  perbedaan yang perlu dicatat jika Anda menggunakan distribusi-
  distribusi tsb.

  Jika perintah-perintah tadi tidak bekerja secara baik di dalam sistem
  Anda, mohon untuk memberitahu penulis serta menyampaikan versi Linux
  yang Anda gunakan.






  1.  Menginstal kedua disk ke dalam sistem Anda

  Sistem-sistem yang modern dapat menerima empat buah EIDE device di
  dalam satu kontroler hard disk yang terdapat di dalamnya, sehingga
  menginstal kedua disk secara bersamaan ke dalam sistem Anda seharusnya
  tidak merupakan masalah, meskipun Anda memiliki EIDE device yang lain.
  Hard disk dan CD-ROM drive merupakan EIDE device yang umum. Floppy
  drive dan tape drive lebih umum terkoneksi ke dalam sebuah kontroler
  floppy drive daripada ke dalam sebuah kontroler hard disk.

  SCSI adapter bahkan lebih fleksibel dan dapat menerima tujuh buah
  device. Jika Anda cukup beruntung (dan kaya) untuk memiliki sebuah
  SCSI adapter, Anda mungkin sudah mengetahui hal ini, dan mungkin Anda
  telah mengetahui pula device mana yang Anda miliki merupakan SCSI
  device! Untuk mendapatkan informasi lebih lanjut mengenai hal ini,
  silahkan untuk membaca dokumen SCSI-HOWTO.

  Sistem yang lama sekalipun dapat menerima dua buah device di dalam
  satu kontroler hard disk yang terdapat di dalamnya, sehingga Anda
  masih dapat menginstal kedua hard disk secara bersamaan. Namun
  demikian, Jika Anda memiliki sebuah device lain yang telah terinstal
  selain dari hard disk yang Anda miliki (misalnya jika Anda memiliki
  sebuah hard disk dan sebuah CD-ROM drive) maka Anda harus melepaskan
  device tadi agar Anda dapat menginstal sebuah hard disk baru dan
  sebuah hard disk lama secara bersamaan.

  Anda harus mengkonfigurasi kedua buah disk tadi sebagai "master" dan
  "slave" dengan cara menginstal jumper-jumper yang ada pada disk secara
  benar. Seringkali Anda bisa mendapatkan informasi mengenai konfigurasi
  tadi pada disk tersebut; jika tidak, Anda harus merujuk kepada manual
  atau menghubungi pembuat disk tersebut.

  Anda juga harus memberitahukan BIOS mengenai keberadaan disk tadi
  maupun "geometry" yang dimilikinya. Biasanya, Anda menjalankan program
  setup BIOS dengan cara menekan sebuah tombol pada saat sistem
  melakukan boot-up. Berikut ini yang harus dilakukan pada beberapa BIOS
  yang umum:


  o  American Megatrends (AMI): tombol Del key pada saat  Power-On Self-
     Test (POST)

  o  Award: Ctrl-Alt-Esc

  o  Compaq: tombol F10 sesudah sebuah ada tampilan berupa sebuah kotak
     di ujung kanan atas layar pada saat boot-up

  o  Dell: Ctrl-Alt-Enter

  o  DTK: tombol Esc pada saat Power-On Self-Test

  o  IBM PS/2: tombol-tombol Ctrl-Alt-Del, kemudian Ctrl-Alt-Ins ketika
     cursor berada di pojok kanan atas

  o  Phoenix: tombol-tombol Ctrl-Alt-Esc, atau Ctrl-Alt-S, atau Ctrl-
     Alt-Enter

  Banyak sistem-sistem yang lebih lama membutuhkan suatu instalasi
  ataupun sebuah disk rujukan (Reference Disk).

  (Penulis tertarik untuk mendapatkan informasi mengenai BIOS-BIOS
  lainnya untuk ditambahkan ke dalam daftar diatas)

  Lakukanlah boot ulang terhadap sistem kemudian login sebagai root.


  2.  Melepaskan ( unmount ) partisi-partisi Non-Linux

  Beberapa orang suka memasang (mount) partisi-partisi dari sistem
  operasi lain (DOS, Windows, OS/2, dsb) agar mereka dapat menggunakan
  partisi-partisi tersebut di dalam Linux. Partisi-partisi tadi harus
  dibuat dan di-copy dengan menggunakan sistem operasi yang
  bersangkutan, dan Anda harus terlebih dahulu melepaskan partisi-
  partisi tersebut sebelum Anda meng-copy partisi Linux. Sebagai contoh,
  apabila Anda memiliki sebuah partisi DOS yang dipasang di dalam
  direktori /dos maka Anda harus melepaskan partisi tersebut dengan
  perintah:


          umount  /dos



  Catatan: perintah yang diberikan tadi adalah "umount", berasal dari
  kata "unmount" dengan menghilangkan huruf n pertama.



  3.  Pembuatan partisi di dalam disk baru

  Gunakanlah perintah berikut untuk melakukan pembuatan partisi di dalam
  sebuah disk baru:

          fdisk  /dev/hdb



  Untuk mendapatkan informasi yang lebih lengkap mengenai pembuatan
  partisi, Anda dipersilahkan untuk membaca dokumen-dokumen
  "Installation How-To" dan "Partitioning Mini How-To".

  Apabila silinder yang dimiliki oleh disk baru Anda berjumlah lebih
  dari 1024 maka Anda dipersilahkan untuk membaca dokumen "Large Disk
  Mini How-To". Secara ringkas, Anda harus menginstal semua file yang
  dibutuhkan untuk mem-boot Linux ke dalam 1024 silinder pertama. Salah
  satu cara untuk melakukannya adalah dengan membuat sebuah partisi
  berukuran kecil (1 MB atau 2 MB) pada bagian awal dari disk Anda
  diperuntukkan hanya untuk direktori /boot.

  (Hanya bagi distribusi Slackware: Kernelnya terdapat di dalam file
  /vmlinuz, dan bukan di dalam  file /boot/vmlinuz, sehingga Anda harus
  meletakkan kedua direktori yaitu direktori-direktori  /  dan  /boot
  ke dalam partisi yang telah dibuat tadi).

  Partisi-partisi dari sistem lain selain Linux harus dibuat dengan
  menggunakan  fdisk  yang dimiliki oleh sistem yang bersangkutan atau
  menggunakan perintah yang setara dengannya, dan tidak menggunakan
  fdisk  yang dimiliki Linux.



  4.  Memformat disk baru

  Gunakanlah perintah berikut untuk melakukan format terhadap sebuah
  disk yang baru:

          mkfs.ext2       /dev/hdb1



  Untuk melakukan pemeriksaan mengenai keberadaan block yang rusak (bad
  block, atau kerusakan fisik), tambahkanlah opsi  -c  sebelum
  /dev/hdb1  dari perintah di atas.

  (Catatan: bertolak-belakang dengan apa yang telah dinyatakan di dalam
  halaman man, ternyata perintah  mkfs -t ext2 -c /dev/hdb1  di dalam
  distribusi-distribusi Red Hat, Debian, dan Slackware tidak melakukan
  pengecekan terhadap kemungkinan adanya block yang rusak.)



  5.  Pemasangan ( mount ) disk baru

  Buatlah sebuah direktori yang akan digunakan untuk memasang disk baru,
  misalnya direktori /new-disk, lalu pasanglah disk baru tadi pada
  direktori tersebut:

          mkdir   /new-disk
          mount  -t  ext2  /dev/hdb1     /new-disk




  6.  Meng-copy file-file dari disk lama ke dalam disk baru

  Anda perlu mereproduksi seluruh struktur disk secara lengkap termasuk
  semua link yang terdapat di dalamnya.

  Selanjutnya, Anda perlu membuat direktori /proc di dalam disk baru,
  namun Anda tidak perlu meng-copy isi direktori tersebut:  /proc
  adalah filesistem  virtual.  dan isinya bukan merupakan file
  sebenarnya namun berisi informasi mengenai proses-proses yang sedang
  berjalan di dalam sistem.

  Berikut ini akan diuraikan 4 cara yang berbeda untuk meng-copy disk
  lama ke dalam disk baru. Dengan cara ini akan dibutuhkan waktu cukup
  lama terlebih-lebih jika Anda memiliki disk berkapasitas besar atau
  memori berukuran kecil. Anda dapat mengharapkan dapat meng-copy dengan
  kecepatan 10 MB per menit, bahkan mungkin bisa lebih cepat dari itu.

  Anda dapat mengikuti perkembangan proses peng-copy-an tadi dengan
  menggunakan perintah  "df"  yang dilakukan dari terminal yang lain.
  Jika Anda termasuk orang yang mudah tertarik seperti halnya penulis,
  cobalah untuk menggunakan perintah  watch  df  atau  watch  -ls  -l
  /new-disk  untuk melihat sebuah laporan yang selalu di-update setiap 2
  detik; tekanlah tombol Ctrl-C untuk menghentikan tampilan tersebut.
  Berhati-hatilah karena menjalankan program  "watch"  itu sendiri akan
  memperlambat proses peng-copy-an yang sedang berjalan.


  1. cp -ax / /new-disk

     Cara ini merupakan cara yang paling sederhana, namun cara ini hanya
     akan bekerja jika sistem Linux yang asli terdapat di dalam satu
     partisi disk. Opsi -a adalah untuk menjaga agar sistem hasil copy
     sedapat mungkin sesuai dengan sistem aslinya. Opsi -x gunanya
     adalah untuk membatasi cp terhadap satu file sistem; pembatasan ini
     dibutuhkan untuk menghindarkan peng-copy-an terhadap direktori-
     direktori /new-disk maupun /proc.


  2. cd / && cp -a `/bin/ls -1A | egrep -v "^new-disk$|^proc$"` /new-
     disk

     (Tulislah perintah diatas di dalam satu baris)

     Cara ini akan menuju ke dalam direktori root, kemudian melakukan
     copy terhadap semua file maupun direktori yang terdapat di dalam
     direktori root tadi  ke dalam  direktori /new-disk kecuali
     direktori-direktori /new-disk sendiri dan /proc. Perhatikan bahwa
     opsi sesudah ls adalah angka 1 (satu), bukan huruf L!

     Perintah ini harus dapat berjalan dalam situasi apapun juga.



  3. (cd / && tar cpf - . --exclude new-disk --exclude proc) | (cd /new-
     disk && tar xpf -)

     (Tulislah perintah diatas di dalam satu baris)

     Cara ini akan menuju ke dalam direktori root, melakukan  "tar"
     terhadap setiap file maupun direktori yang terdapat di dalamnya
     kecuali direktori-direktori /new-disk dan /proc, kemudian akan
     berpindah ke direktori /new-disk dan melakukan "untar" dari semua
     file serta direktori tadi pada tempat ini. Perhatikan bahwa tidak
     boleh ada sebuah slash (garis miring, /) sebelum dan sesudah nama-
     nama direktori di dalam  opsi --exclude).

     (Catatan: opsi -l tidak akan bekerja disini, oleh karena tar akan
     selalu membuat kembali direktori-direktori /new-disk dan /proc
     meskipun tidak melakukan copy terhadap isi dari direktori-direktori
     tadi. Oleh karena itu, opsi -l  dari perintah tar tidak memiliki
     perilaku yang sama dengan opsi -x  dari perintah cp)

     Cara ini akan berjalan sedikit lebih lambat dibandingkan dengan
     cara-cara lainnya.


  4. cp -a /bin /boot /dev /etc /home /lib /lost+found /mnt /root /sbin
     /tmp /usr /var /new-disk

     (Tulislah perintah diatas di dalam satu baris)

     Direktori yang terakhir, /new-disk, merupakan tempat tujuan
     (destination) dari perintah cp sedangkan direktori-direktori
     lainnya merupakan sumber (source). Oleh karena itu, dengan cara ini
     penulis meng-copy semua direktori yang penulis telah urutkan ke
     dalam direktori /new-disk.

     Dengan cara ini, Anda cukup hanya dengan membuat urutan semua
     direktori yang akan di-copy. Di sini penulis mengurutkan semua
     direktori kecuali direktori-direktori /new-disk dan /proc. Jika
     Anda tidak dapat menggunakan cara-cara yang lain tadi karena suatu
     alasan tertentu, Anda selalu akan dapat menggunakan perintah ini
     yaitu mengurutkan secara manual  semua direktori yang ingin Anda
     copy.

     Hanya pada cara ini,  seandainya terdapat beberapa file di dalam
     direktori root sendiri maka Anda memerlukan perintah lain untuk
     meng-copy-kannya. Secara khusus, perintah ini dibutuhkan pada
     Debian dan Slackware oleh karena distribusi-distribusi tadi
     menempatkan beberapa file di dalam direktori root.


     cp -dp /* /.* /new-disk



  Sesudah Anda menggunakan salah satu dari cara diatas, Anda harus
  membuat direktori /proc di dalam disk yang baru tadi:



  mkdir /new-disk /proc



  Pada tahap ini, jika Anda menginginkannya, Anda dapat melakukan
  verifikasi terhadap struktur file yang terdapat di dalam disk baru:


  umount /new-disk
  fsck.ext2 -f /dev/hdb1
  mount -t ext2 /dev/hdb1 /new-disk



  Andapun dapat pula menggunakan script berikut untuk membandingkan
  kedua disk tadi, untuk memastikan bahwa semua file  telah di-copy-kan
  secara sempurna:


  #!/bin/sh
  cd /
  for   file   in    `/bin/ls   -1A | egrep   -v    '^new-disk$|^proc$'`
  do
      find   $file   -xtype   f   -exec   cmp \{\}   /new-disk/\{\} \;
  done



  (Hanya bagi distribusi Slackware: Instalasi dasar dari Slackware tidak
  memasukkan perintah-perintah  "cmp"  ataupun  "diff", sehingga Anda
  tidak akan dapat menjalankan script ini apabila Anda hanya memiliki
  file-file dasar.)

  Script tadi hanya akan membandingkan file-file reguler; namun tidak
  akan membandingkan file-file spesial seperti character special file,
  block special file (yang terdapat di dalam direktori /dev) ataupun
  socket, dsb oleh karena perintah  "cmp" tidak akan bekerja secara baik
  dengan file-file spesial tadi.  Penulis akan menerima saran-saran
  mengenai cara untuk memverifikasi file-file "special"  tadi.


  7.  Memodifikasi /etc/fstab  secara tepat

  Jika disk baru Anda tidak memiliki partisi maupun organisasi yang sama
  dengan disk lama Anda, modifikasilah file /etc/fstab  di dalam disk
  baru secara tepat. Harap diingat bahwa file ini sekarang berlokasi di
  dalam /new-disk/etc/fstab.

  Pastikanlah bahwa partisi disk yang terdapat di dalam kolom pertama
  berhubungan dengan organisasi yang akan Anda dapatkan di dalam disk
  baru Anda, sesudah disk lama dilepaskan maka Anda hanya memasangkan
  satu partisi di dalam  "/"  seperti yang diperlihatkan di dalam kolom
  kedua.



  8.  Mempersiapkan LILO untuk memboot disk yang baru

  Langkah ini merupakan langkah yang paling rumit. Penulis mengasumsikan
  bahwa LILO telah terinstal di dalam Master Boot Record (MBR) dari hard
  disk lama; kondisi ini merupakan konfigurasi yang paling umum.

  Anda bermaksud menginstal LILO ke dalam disk yang sekarang menjadi
  disk kedua. LILO dipastikan tidak akan dapat dijalankan dari hard disk
  kedua; namun demikian, dokumentasi LILO tidak mengantisipasi bahwa
  Anda bermaksud untuk menginstal LILO ke dalam disk yang kedua,
  misalnya pada saat hard disk pertama akan dilepaskan:

  LILO tidak dapat diletakkan di dalam setiap lokasi berikut:

  o  di dalam hard disk kedua. (kecuali untuk keperluan backup, jika
     hard disk pertama yang ada saat ini akan dilepaskan akan dinon-
     aktifkan, atau jika boot loader yang lain akan digunakan, yang
     mampu untuk melakukan loading terhadap boot sector dari drive-drive
     yang lain.)

  Namun demikian, dokumentasi tadi tidak menjelaskan satupun cara yang
  tepat untuk menginstal LILO di dalam hard disk kedua seandainya hard
  disk pertama akan dilepaskan, dan sesudah mencoba beberapa kali
  akhirnya penulis menyimpulkan bahwa merupakan suatu yang tidak mungkin
  untuk menginstal LILO ke dalam MBR dari hard disk kedua dan membuatnya
  langsung berjalan.

  Sebagai gantinya, penulis menyarankan untuk menggunakan sebuah disket
  boot untuk melakukan boot yang pertama kali terhadap disk yang baru
  tadi.

  Masukkanlah sebuah disket kosong, lakukan format terhadapnya, buatlah
  file sistem di dalamnya, kemudian pasangkanlah:


  fdformat /dev/fd0H1440
  mkfs.ext2 /dev/fd0
  mount -t ext2 /dev/fd0 /mnt



  (Hanya bagi distribusi Debian:  Perintah  "fdformat"  tidak termasuk
  ke dalam instalasi dasar dari Debian. Jika Anda tidak memiliki
  perintah ini maka Anda dapat melewati perintah ini jika floppy memang
  sudah di-format. Dalam kasus ini, Anda harus memeriksa block yang
  rusak dari disket tadi dengan menambahkan  "-c"  sesudah perintah
  "mkfs.ext2".)

  (Hanya bagi distribusi Debian dan Slackware: Gunakanlah perintah
  fdformat   /dev/fd0h1440 dengan huruf kecil dari  "h".)

  Copy-lah semua file yang terdapat di dalam direktori /boot ke dalam
  disket tadi:

          cp  -dp   /boot/*     /mnt


  (Hanya bagi distribusi Slackware: Copy-lah file /vmlinuz  ke dalam
  disket boot; gunakan perintah  cp /vmlinuz /mnt.)

  Buatlah sebuah file baru yaitu /mnt/lilo.conf dengan isi sebagai
  berikut:














  boot=/dev/fd0           # Instal LILO ke dalam sebuah floppy disk.
  map=/mnt/map            # Lokasi dari  "map file".
  install=/mnt/boot.b     # File yang akan di-copy ke dalam
                          # boot sector dari floppy.
  prompt                  # LILO akan menampilkan prompt sbb: "LILO boot:"
  timeout=50              # Secara default sistem akan di-boot setelah 5 detik
                          # (Angka yang diberikan adalah dalam sepersepuluh detik)
  image=/mnt/vmlinuz      # Lokasi dari kernel Linux kernel di dalam floppy.
      label=linux         # Label bagi sistem Linux
      root=/dev/hda1      # Lokasi dari partisi root partition
                          # di dalam hard disk baru
                          # Modifikasilah lokasi ini untuk
                          # disesuaikan dengan sistem Anda
                          # Perhatikan bahwa Anda harus menggunakan
                          # nama dari lokasi
                          # yang nanti akan Anda gunakan,
                          # sesudah disk lama telah
                          # dilepaskan.



  (Hanya bagi distribusi Debian: Di dalam baris  "image" diatas,
  gunakanlah nama sebenarnya dari kernel Linux. Misalnya, pada Debian
  1.3.1, gunakanlah "/mnt/vmlinuz-2.0.29".)

  Installah LILO ke dalam disket boot tadi:


          /sbin/lilo  -C    /mnt/lilo.conf



  Opsi -C dari perintah di atas adalah memberitahukan /sbin/lilo
  mengenai file konfigurasi yang digunakan.

  Lepaskanlah (unmount) disket tadi:


          umount   /mnt


  Kemudian lakukan shut down terhadap sistem.


  9.  Melepaskan disk lama

  Sesudah melepaskan disk lama, agar diingat untuk melakukan modifikasi
  jumper-jumper disk maupun informasi BIOS untuk disesuaikan dengan
  perubahan yang telah terjadi.



  10.  Mem-boot ulang  sistem, Menginstal LILO di dalam disk baru

  Lakukanlah boot ulang dengan menggunakan disket boot yang tadi telah
  dibuat. Untuk melakukannya, Anda harus memodifikasi urutan boot-up
  dari BIOS menjadi   "A:,    C:".

  Lakukan perubahan yang diperlukan terhadap file /etc/lilo.conf,
  kemudian jalankanlah /sbin/lilo  untuk menginstal LILO ke dalam disk
  yang baru. Dengan distribusi Debian, Anda harus memastikan bahwa baris
  "boot"  berisi  "/dev/hda"  dan bukannya  "/dev/hda1" , atau sejenis
  dengan itu, apabila Anda bermaksud untuk menginstal LILO ke dalam
  Master Boot record.


  Selanjutnya Anda dapat mencoba untuk melakukan booting ulang sistem
  dengan menggunakan disk baru Anda untuk menguji apakah semua langkah
  telah dilakukan dapat berjalan dengan benar.  Jika Anda mendapatkan
  masalah, Anda masih dapat menggunakan disket tadi untuk melakukan boot
  terhadap sistem Anda.


  Penghargaan

  Ucapan terima-kasih yang khusus penulis berikan kepada Dr. Konrad
  Hinsen dari Institut de biologie structurale, Grenoble, France, yang
  telah berperan sebagai guru Linux bagi pribadi penulis. Ucapan terima-
  kasih juga diperuntukkan bagi Frank Damgaard, Paul Koning dan Josh
  Rabinowitch, dan Scott Christensen yang telah memberi-tahu penulis
  mengenai kekhususan yang terdapat di dalam distribusi Slackware.



  11.  Catatan dari penterjemah

  Penterjemah sudah berusaha menterjemahkan tulisan aslinya sedapat
  mungkin, namun tidak mustahil masih ada kekurangan dalam penterjemahan
  di sana-sini. Apabila ada saran-saran untuk memperbaiki penterjemahan
  tulisan ini silahkan disampaikan via e-mail ke penterjemah,
  yheryadi@necnusa.co.id,  atau koordinator id LDP, mdamt@linux.or.id.

  ------------------------------------------------------------------
  Dokumen terbaru ada di http://ldp.linux.or.id Kontak Mohammad DAMT
  <mdamt@linux.or.id> bila berminat membantu Indonesia LDP.





































