昨日、Ubuntuを12.04から12.10にアップグレードしました。ただし、Linuxカーネルは、予想どおり3.2から3.5にアップグレードされていません。
$ uname -r
3.2.0-32-generic
$ uname -a
Linux tony-b 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ cat /proc/version
Linux version 3.2.0-32-generic (buildd@batsu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012
なぜそこで起こったのか分かりません。
Audacity(v2.0.1-1_AMD64)をインストールして、講義の音声ファイルを編集したかった。 Ubuntu Software Centerでこの操作を試みるとき、audacityをインストールするには、4つのアイテムを削除する必要があると言われています。
「とにかくインストール」をクリックしますが、次の出力で失敗します。
installArchives() failed: (Reading database ...
(Reading database ... 259675 files and directories currently installed.)
Removing linux-image-3.2.0-27-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-27-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-27-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-27-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
Removing linux-image-3.2.0-29-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-29-generic /boot/vmlinuz-3.2.0-29-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-29-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-29-generic /boot/vmlinuz-3.2.0-29-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-29-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-29-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
Removing linux-image-3.2.0-30-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-30-generic /boot/vmlinuz-3.2.0-30-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-30-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-30-generic /boot/vmlinuz-3.2.0-30-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-30-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-30-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
Removing linux-image-3.2.0-31-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-31-generic /boot/vmlinuz-3.2.0-31-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-31-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-31-generic /boot/vmlinuz-3.2.0-31-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-31-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-31-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-3.2.0-27-generic
linux-image-3.2.0-29-generic
linux-image-3.2.0-30-generic
linux-image-3.2.0-31-generic
Error in function:
Setting up grub-pc (2.00-7ubuntu11) ...
/usr/sbin/grub-bios-setup: warning: Sector 32 is already in use by the program `FlexNet'; avoiding it. This software may cause boot or other problems in future. Please ask its authors not to store data in the boot track.
Installation finished. No error reported.
Generating grub.cfg ...
dpkg: error processing grub-pc (--configure):
subprocess installed post-installation script returned error exit status 1
どういうわけか、古いLinuxイメージを削除する必要があるようです。これを(1)Synaptic、(2)Ubuntu Tweak、および(3)Computer Janitorで試しました。
最初の2つは失敗しますが、Computer Janitorは開きさえしません。 Synapticの出力は次のとおりです。
E: linux-image-3.2.0-27-generic: subprocess installed post-removal script returned error exit status 1
E: linux-image-3.2.0-29-generic: subprocess installed post-removal script returned error exit status 1
E: linux-image-3.2.0-30-generic: subprocess installed post-removal script returned error exit status 1
E: linux-image-3.2.0-31-generic: subprocess installed post-removal script returned error exit status 1
$ dpkg --list | grep linux-image
rH linux-image-3.2.0-27-generic 3.2.0-27.43 AMD64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rH linux-image-3.2.0-29-generic 3.2.0-29.46 AMD64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rH linux-image-3.2.0-30-generic 3.2.0-30.48 AMD64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rH linux-image-3.2.0-31-generic 3.2.0-31.50 AMD64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-32-generic 3.2.0-32.51 AMD64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.5.0-17-generic 3.5.0-17.28 AMD64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
ii linux-image-extra-3.5.0-17-generic 3.5.0-17.28 AMD64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
ii linux-image-generic 3.5.0.17.19 AMD64 Generic Linux kernel image
しかし、コマンドラインを使用して削除しようとしても失敗します:例:
$ Sudo apt-get purge linux-image-3.2.0-27-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED
linux-image-3.2.0-27-generic linux-image-3.2.0-29-generic linux-image-3.2.0-30-generic linux-image-3.2.0-31-generic
0 upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
5 not fully installed or removed.
After this operation, 597 MB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 259675 files and directories currently installed.)
Removing linux-image-3.2.0-27-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-27-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-27-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-27-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports has already been reached
Removing linux-image-3.2.0-29-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-29-generic /boot/vmlinuz-3.2.0-29-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-29-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-29-generic /boot/vmlinuz-3.2.0-29-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-29-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-29-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports has already been reached
Removing linux-image-3.2.0-30-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-30-generic /boot/vmlinuz-3.2.0-30-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-30-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-30-generic /boot/vmlinuz-3.2.0-30-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-30-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-30-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports has already been reached
Removing linux-image-3.2.0-31-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-31-generic /boot/vmlinuz-3.2.0-31-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-31-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-31-generic /boot/vmlinuz-3.2.0-31-generic
Generating grub.cfg ...
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.2.0-31-generic.postrm line 328.
dpkg: error processing linux-image-3.2.0-31-generic (--remove):
subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports has already been reached
Errors were encountered while processing:
linux-image-3.2.0-27-generic
linux-image-3.2.0-29-generic
linux-image-3.2.0-30-generic
linux-image-3.2.0-31-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
削除を拒否する古いカーネルイメージを削除するにはどうすればよいですか?
ここにある解決策: http://ubuntuforums.org/showthread.php?t=1735575&page=2
私はそれを機能させるためにオプション1をするだけでしたが、参照のためにここで全部を引用します:
Drs305から:
問題はgrubのインストール後スクリプトにあるようです:/etc/kernel/postrm.d/zz-update-grub
問題はありませんが、次のことを行いました。唯一の違いは、システムがスクリプトの失敗にかかっていないことです。
オプション1:OSを起動して「apt-get install」を実行できる場合
「Sudo apt-get install 2vard」でこれが可能かどうかをテストできます。それは本当に小さなパッケージです。正常にインストールされた場合:
コード:
Sudo apt-get purge grub-common
これにより、zz-update-grubスクリプトが削除されます。
ブートローダーを削除するよう警告されます。 Tabキーで[OK]をクリックし、Enterキーを押します。
コード:
Sudo apt-get install grub-pc
Tabキーで[OK]をクリックし、スペースバーを使用して、パーティションではなくUbuntuドライブのみを選択します。これにより、zz-update-grubファイルが復元されます。問題がgrubファイルにあった場合、これで修正されるはずです。
オプション2:上記が機能しない場合:
バイパスされるようにgrubスクリプトの名前を変更してみてください。長期的なソリューションではありませんが、アップデートを実行できる場合があります。
Sudo mv /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postrm.d/zz-update-grub.bad
私はチェックをバイパスするために次の方法を使用しました。
Sudo mv /etc/kernel/postrm.d /etc/kernel/postrm.d.old
[real action go here]
Sudo mv /etc/kernel/postrm.d.old /etc/kernel/postrm.d
Ubuntuを12.04から14.04.1にアップグレードする際に同じ問題が発生しました。カーネルは3.2のままでした。
一見しただけで、アップグレードが14.04のブートメニューエントリを作成しなかったことに気付きました。最新のエントリは、3.2カーネルの12.04でした(ブート中のスプラッシュ画面には「14.04」と表示されました。これにつまずく)。
アップグレード後に最初に気づいたのは、デスクトップにログオンできなくなったことです。だから私は私のNVIDIAカードのドライバーに何か問題があると思った。 (私の設定ファイルまたはその拡張機能に適切なモードが見つからないというエラーメッセージが表示されました)。
3.13.0-43カーネルを期待どおりに実行していないことが最終的にわかったときのみ、これはついに完全な意味を持ち始めました:3.2を実行している間にドライバーが3.13カーネルに対してコンパイルされたので、ドライバーは不思議ではありませんうまくいきませんでした。
上記のようにgrub-commonを削除してgrub-pcをインストールすると、これが解決しました。
このソリューションに貢献したすべての人に感謝します!