カテゴリー
古いCanonプリンターを諦めない!KVM/QEMUとUbuntuでひたすら利用期限を延命させる方法
※ 当ページには【広告/PR】を含む場合があります。
2025/08/23

古いCanon製プリンターのドライバーが最新OSで使えなくなり困っていませんでしょうか。
長年愛用してきたCanon製のプリンターが、OSのアップデートとともに使えなくなってしまったという話はよく耳に入ります。 特に古いモデルのプリンターは、最新のLinuxディストリビューションでは公式ドライバーが提供されず、泣く泣く買い替えを検討する方も多いでしょう。 しかし、まだ故障していないプリンターを捨てるのはなんだかもったいないことです。
KVM/QEMU仮想環境に過去のUbuntuをインストールし、生産終了となったCanon製プリンターを再び利用するための具体的な手順を解説します。 年数回しか使わないけれど手放したくない、そんなレガシーデバイスを蘇らせる方法を見ていきましょう。
KVM/QEMUで古いUbuntuをセットアップする
まずは、KVM/QEMU環境に古いUbuntuをゲストOSとしてインストールします。 KVM/QEMUのインストールや仮想マシンの基本的な起動方法については、
仮想マシンのリソース割り当て
今回の目的はプリンターの利用に特化しているため、ゲストOSに割り当てるリソースは控えめで十分です。 例えば、メモリ512MB、ストレージ容量10GB程度で問題なく動作します。
互換性のあるUbuntuバージョンの選定
Canonのダウンロードサイトで、お使いのプリンターモデルに対応するLinuxドライバーの情報を確認しましょう。
例えば、手元にあるPIXUS MG3130の場合、対応OSとして動作確認が取れているUbuntuのバージョンを確認します。

対応バージョンが判明したら、以下のサイトから対象のUbuntu ISOファイルをダウンロードします。 今回は
Ubuntu 10.10
ダウンロードしたISOファイルを使ってKVM/QEMUで仮想マシンを立ち上げると、以下のような画面が表示されます。

Canonプリンターのドライバー導入と印刷
ゲストOSのUbuntuが起動したら、いよいよプリンタードライバーの導入と印刷テストを行います。
ゲストOS上でドライバーをダウンロード
改めてゲストOSのWebブラウザからCanonのダウンロードサイトにアクセスし、対応するLinuxドライバーをダウンロードします。
プリンターのデバイス認識とUSBリダイレクト
このプリンターがWi-Fi接続に対応していても、今回は安定性を考慮してPCとUSB接続します。 KVM/QEMUのメニューから
「USBデバイスのリダイレクト」


ドライバーのインストール
ダウンロードしたドライバーファイルのあるディレクトリにターミナルで移動し、以下のコマンドを実行してインストールします。
$ ls
cnijfilter-mg3100series-3.60-1-deb.tar.gz
$ tar xvf cnijfilter-mg3100series-3.60-1-deb.tar.gz
$ cd cnijfilter-mg3100series-3.60-1-deb
$ ls
install.sh packages resources
$ sudo ./install.sh
インストールが成功し、プリンターが正常に接続されると、そのまま印刷機能を利用できるようになります。


ホストOSとゲストOS間のファイル共有について
印刷したいファイルをホストOSからゲストOSへ渡す方法も重要です。 KVM/QEMUにはファイル共有機能がありますが、古いUbuntu環境ではうまくいかないケースもあります。
virtio-p9でのファイル共有の試み(と断念)
ホストOSで共有ディレクトリを作成し、ゲストOSからvirtio-p9を使ってマウントを試みるのが一般的な方法です。
まず、ホストOSのホームディレクトリ下に「
share
例: /home/<ユーザー名>/share/
次にゲストOSへのファイルシステム追加します。
ゲストOSの画面から
[詳細] > [ハードウェアを追加]

ターゲットパスは任意に指定しますが、今回は「

最後にゲストOSでマウントします。 ゲストOSを起動し、マウント用のディレクトリ(例:
/home/<ユーザー名>/shared/
$ sudo mount -t 9p -o trans=virtio <ターゲットパス> <ゲストOSの共有ディレクトリのパス>
# 今回の例であれば
$ sudo mount -t 9p -o trans=virtio mountpoint /home/<ユーザー名>/shared/
しかし、古いUbuntu環境ではvirtio-p9でのマウントが失敗してしまい、個人的にここでギブアップ。
ゲストOS側のp9設定の問題か、ホスト側のvirtioの問題か、原因の特定は困難な場合が多いです。 深入りすると時間ばかりかかってしまうため、今回はこの方法を断念します。
どうしてもVirtFSからファイルシステム共有させてみたい場合、
Fedora
OpenSUSE
代替案:USBメモリを使ったファイル転送
ファイル共有がうまくいかない場合でも、最も確実でシンプルな代替手段は
まとめ
本記事では、最新OSでサポートされなくなった古いCanon製プリンターを、KVM/QEMU仮想環境にインストールした古いUbuntuで再び活用する方法を解説しました。
KVM/QEMUでリソースを抑えた仮想マシンを構築し、互換性のある古いUbuntuを導入 Canonの公式サイトから対応するLinuxドライバーをダウンロードし、USBリダイレクトでプリンターを接続してインストール ホストOSとゲストOS間のファイル共有が難しい場合は、 外付けUSBメモリ を利用することで、印刷したいファイルを簡単に転送
Canonのローエンドモデルであれば、最近の機種でも5,000円台で購入できるものもありますが、まだ使えるものを捨ててしまうのは気が引けるものです。 この方法を使えば、眠っていたレガシーデバイスを有効活用し、無駄をなくすことができます。ぜひ、お手元の古いプリンターを蘇らせてみてください。
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー