上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

How to install debian like WUBI

方法を以下に記します。インストール完了して起動させるまでに以下の3段階が必要です。

第1段階:NTFSパーティションにDebianインストール先のファイルと、インストーラを準備

第2段階:インストール

第3段階:インストールされたdebianがファイルからでも起動できるように修正

まず、第1段階から

http://cdimage.debian.org/debian-cd/current-live/i386/iso-hybrid/debian-live-6.0.2-i386-lxde-desktop.iso
をCDかUSBにddします。つまり、Debian SqueezeのLiveCDかLiveUSBを作ります。そして、それで起動します。
放置して(一番上のLiveで起動してログイン画面では9秒ほど放置して)GUIが開くまで待ちます。

日本語を読みたいなら、以下の***までの操作が必要になります。
左下のメニューからAccessories→LXTerminalをクリック。
$ sudo su
# apt-get update
# apt-get install ttf-sazanami-gothic
***
さらに、日本語を入力したいなら以下の*****までの操作が必要になります。
# apt-get install scim-anthy im-config
# im-config
で開いたウィンドゥでscimにチェックを入れて、OK。
左下のメニュー→Preferences→SCIM Input Method Setup

Global Setup→Keyboard LayoutをプルダウンしてJapanese
ついでに、「半角/全角」キーを有効にしたいなら、
Trigger:の右の「・・・」をクリックして「Keycode」の右の「・・・」をクリックして、「半角/全角」キーを押して、「Add」「OK」をクリック。元のウィンドウで「Apply」「OK」をクリック。
左下のメニューで「Logout」で「Logout」をクリック。放置してGUIが起動すれば日本語入力をCTRL+Spaceもしくは「半角/全角」キーで開始できるはずです。
*****

左下のメニューからInternet→IceweaselをクリックするなどしてIceweasel(ウェブブラウザ)を起動。
この掲示板を開きます。

wubi4debian6_part1_111003.txt

/home/user
ディレクトリの中に
wubi4debian.sh
という名前で保存。
左下のメニューからAccessories→LXTerminalをクリック。
$ sudo su
# bash ./wubi4deian.sh
のように、先ほど保存した名前を入れて実行。
後は自動的に実行されます。
途中でおかしなことが起こると、エラーメッセージが表示されるので、メモしてこちらにでも書き込んでください。あ、LANでDHCPが利用できないと失敗しまくるかもしれません。
うまくいけば、 NTFSのファイルシステムを見つけるために、ENTERキーを押すように二回促されますので、二回ENTER。
すると、見つかったメディアの情報がずらずらと表示されるので、インストール先のNTFSパーティションを見つけ出してください。 SHIFT+PageUpで上に、SHIFT+PageDownで下に移動できます。見つかったNTFSのデバイスファイル名がsda1とかsdb2とか表示されるので、インストール先のものをタイプしてENTERしてください。
うまくいけば、空き容量などの情報がkB単位で表示されるので、それよりも小さい値をタイプしてENTERしてください。
GUIなしでも、5000000(kB)以上にした方が良いでしょう。
うまくいけば、debianのパーティションにするためのファイルの名前が聞かれます。
インストール先のNTFSパーティションには存在しない名前をタイプしてENTERしてください。
たとえば、
debiandisk
とか。
うまくいけば、debianのパーティションにするためのファイルが作成され始めます。
かなり時間がかかりますが、うまくいけば、ブロックデバイスではないけど良いのか確認されますので、
y
とタイプしてENTER。
すると、Grub4dos-0.4.4がダウンロードされて、/dev/sdaのMBRにインストールするかを聞かれます。
インストールすれば、再起動後に/dev/sdaに処理が移れば、自動的にdebianインストーラが起動できますが、その代わり、/dev/sdaに処理が移っても、今までのようなWindowsは自動起動しなくなります。
心配ならここでyと答えず、自力でgrldrを起動するようにbootmgrなりntldrなり、他のカーネルローダを設定すれば良いでしょう。
/dev/sdaのMBRにdebianインストーラ起動用のgrub4dos-0.4.4をインストールしても良いのなら、ここで
y
を二回入力してください。そうすれば、MBRにインストールされます。
Grub4dos-0.4.4をインストールしてもしなくてもこれで、第一段階は終了です。端末で
# exit
$ exit
して端末を閉じて、左下のメニューからLogout→Shutdownを選んでLiveDebianを終了してください。LiveCDかLiveUSBを取り出してENTERキーを押すように指示されると思います。そうしてください。

次に第2段階です。電源を入れて、grub4dos-0.4.4を起動させてください。MBRにインストールしてあって、/dev/sdaに起動時に処理が移るのなら、自動的に起動するでしょう。そうでなければ、何とかして、インストール先のNTFSパーティションのgrldrに処理を移してください。

さて、grub4dos-0.4.4が起動したら、一つだけあるメニューがあるはずです。そうでない場合には、今までに別にgrub4dos-0.4.4 などをインストールされたことがあったなどで、インストール先とは異なる場所に/menu.lstが存在していて、それを読んでいます。そんな場合には、
cキーを押してコマンドラインに入り、
root (hd*,^)
でインストール先のNTFSパーティションを指定してください。*は、HDDやUSBフラッシュなどのメディアの番号で、0から数えられます。^はそのメディアの中のインストール先のNTFSパーティションの番号であり、これも0から数えられます。
そして、
configfile /menu.lst
とすれば、一つだけのエントリが現れるはずです。

一つだけのエントリ
Debian Installer Wubi Like
が現れたらENTERキーを押してください。
インストーラーが起動します。
後は、パーティショニングまでは普通にインストーラの指示に従ってください。

パーティショニングになったら、TABキーで「戻る」を選択。リストが表示されるので、「debconf優先度の変更」で「中」に変更。

CTRL+ALT+F2を同時押しして、画面が切り替わったらENTERキーを押す。
#
と表示されるので、
# modprobe fuse
# modprobe loop
# modprobe ntfs
# modprobe ext4
# blkid
でインストール先のデバイスファイル名を確認します。ここからの説明では、/dev/sda3だとします。以下の説明では、適宜、自分の場合のものに変更してください。

# ntfs-3g /dev/sda3 /mnt
# mkdir /target
# mount -t ext4 -o loop,rw /mnt/debiandisk /target
ただし、debiandiskの部分は、自分が名づけたdebianインストールのためのファイル名にしてください。

ここまで行ってから、CTRL+ALT+F1でインストーラーの画面に戻ります。

ベースシステムのインストールを選択。
パーティショニングが終了していないと警告されるので、「戻る」を選択。ダメなら再度「戻る」を選択。すると、うまくいけば、インストールが続行されます。うまくいかなければ、この掲示板にでも書き込んでください。
選択画面では基本的にデフォルトのものを選べばよいのですが、カーネルだけは
linux-image-2.6.32-5-686
を明確に選んだ方が安全です。
その後、

パッケージマネージャの設定
とか
ソフトウェアの選択とインストール
を順番に行います。

Grubブートローダのインストール

LILOブートローダのインストール
は行わず、
ブートローダなしで続ける
を選択してください。
そして、再度
debconf優先度の変更


に変更してください。
インストールの完了
を選び、パーティショニングが行われていないと再度警告されますが、TABキーで「戻る」を選択。ダメなら再度「戻る」を。すると、「インストールが完了したので、再起動する」ように指示されるので、
続行を選択。すると、インストーラが終了して、再起動します。ここで、最初にインストール前に使ったLiveUSBかLiveCDを入れて、そこから起動してください。これで、第2段階は終了です。

後は、インストールされたdebianについて、ちょっとの修正が必要になります。

第3段階です。まず、LiveCDまたはLiveUSBで起動時にLive686を選んでください。
GUIが起動したら、LXTerminalを開きます。
$ sudo su
# mount -t ntfs-3g /dev/sda3 /mnt -o rw,umask=077
# mkdir testmount
# mount -t ext4 -o loop,rw,relatime,data=ordered /mnt/debiandisk ./testmount
# cd testmount
# mkdir host
# echo >>etc/initramfs-tools/modules "fuse
loop
ntfs
ext4"
# echo >>etc/modules "fuse
loop
ntfs
ext4"
# cd ..
# mount -o bind /dev ./testmount/dev
# mount -o bind /dev/pts ./testmount/dev/pts
# mount -o bind /sys ./testmount/sys
# mount -o bind /proc ./testmount/proc
# chroot ./testmount /bin/bash
# update-initramfs -u
# exit
# cd testmount
# echo > etc/fstab "/host/debiandisk / ext4 loop,rw,relatime,errors=remount-ro,data=ordered 0 1
/dev/sda3 /host ntfs rw,umask=077 0 0"
ただし、ここでも、/dev/sda3とdebiandiskは適宜自分の環境に合わせて変更してください。
# mkdir initrd
# cd initrd
# gzip -dc ../boot/initrd.img-2.6.32-5-686|cpio -i
# leafpad init
で開いたテキストエディタで、

for x in $(cat /proc/cmdline); do
case $x in

のような場所を見つけて、その後に

loop=*)
LOOP="${x#loop=}"
;;
loopflags=*)
LOOPFLAGS="-o ${x#loopflags=}"
;;
loopfstype=*)
LOOPFSTYPE="${x#loopfstype=}"
;;

までを追加します。そして、「File」ー「Save」で保存してテキストエディタを閉じます。
# leafpad scripts/local
で開いたテキストエディタで

# Mount root
if [ "${FSTYPE}" != "unknown" ]; then
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt}
else
mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt}
fi

のようなところを見つけて、それを

# Mount root
ntfs-3g ${ROOT} ${rootmnt}
mkdir -p /host
mount -o move ${rootmnt} /host
if [ -z "${LOOPFSTYPE}" ]; then
eval $(fstype < "/host/${LOOP#/}")
else
FSTYPE="${LOOPFSTYPE}"
fi
if [ "$FSTYPE" = "unknown" ] && [ -x /sbin/blkid ]; then
FSTYPE=$(/sbin/blkid -s TYPE -o value "/host/${LOOP#/}")
[ -z "$FSTYPE" ] && FSTYPE="unknown"
fi
roflag=-w
modprobe loop
modprobe ${FSTYPE}
mount -w -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt}
if [ -d ${rootmnt}/host ]; then
mount -o move /host ${rootmnt}/host
fi

に変えます。そして、上記と同様に保存して、テキストエディタを閉じます。

# cd ..
# wget -c http://ftp.yz.yamagata-u.ac.jp/debian/pool/main/n/ntfs-3g/libntfs-3g75_2010.3.6-1_i386.deb
# mkdir libntfs_dir
# dpkg -X libntfs-3g75_2010.3.6-1_i386.deb libntfs_dir
# cp -a libntfs_dir/* initrd/
# wget -c http://ftp.yz.yamagata-u.ac.jp/debian/pool/main/n/ntfs-3g/ntfs-3g_2010.3.6-1_i386.deb
# mkdir ntfs3g_dir
# dpkg -X ntfs-3g_2010.3.6-1_i386.deb ntfs3g_dir
# cp -a ntfs3g_dir/* initrd/
# wget -c http://ftp.yz.yamagata-u.ac.jp/debian/pool/main/e/eglibc/libc6-i686_2.11.2-10_i386.deb
# mkdir libc6_dir
# dpkg -X libc6-i686_2.11.2-10_i386.deb libc6_dir
# cp -a libc6_dir/* initrd/
# cd initrd
# find . |cpio -H newc -o|gzip -9 > ../initrd.img-new
# mv ../boot/initrd.img-2.6.32-5-686 ../boot/initrd.img-2.6.32-5-686-backup
# mv ../initrd.img-new ../boot/initrd.img-2.6.32-5-686
# cd ..
# cp boot/vmlinuz-2.6.32-5-686 boot/initrd.img-2.6.32-5-686 /mnt/
# cd ..
# umount -l testmount
# leafpad /mnt/menu.lst
で一番上に、

title debian squeeze in debiandisk in /dev/sda3
find --set-root /vmlinuz-2.6.32-5-686
kernel /vmlinuz-2.6.32-5-686 root=/dev/sda3 loop=/debiandisk rw
initrd /initrd.img-2.6.32-5-686

までを追加します。

# umount -l /mnt
# shutdown -r now

LiveUSBかLiveCDを抜いてください。

grub4dosで
debian squeeze in debiandisk in /dev/sda3
を選べば、Debianが起動するはずです。
関連記事

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

プロフィール

kiyoshi

Author:kiyoshi
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
since 2011/9/25
現在の閲覧者数:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。